简体   繁体   中英

read greek characters from xls file into java

I am trying to read an xls file in java and convert it to csv. The problem is that it contains greek characters. I have used various different methods with no success.

br = new BufferedReader(new InputStreamReader(
            new FileInputStream(saveDir+"/"+fileName+".xls"), "UTF-8")); 
FileWriter writer1 = new FileWriter(saveDir+"/A"+fileName+".csv");
byte[] bytes = thisLine.getBytes("UTF-8");
writer1.append(new String(bytes, "UTF-8"));

used that with different encoders, like utf16 and windoes-1253 and ofcourse with out using the bytes array. none worked. any ideas?

Use "ISO-8859-7" instead of "UTF-8". It is for latin and greek. See documentation

 InputStream in = new BufferedInputStream(new FileInputStream(new File(myfile)));

        result = new Scanner(in,"ISO-8859-7").useDelimiter("\\A").next();

A Byte Order Mask (BOM) should be entered at the start of the CSV file.

Can you try this code?

PrintWriter writer1 = new PrintWriter(saveDir+"/A"+fileName+".csv");
writer1.print('\ufeff');
....

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM