【问题标题】:read greek characters from xls file into java将xls文件中的希腊字符读入java
【发布时间】:2015-07-15 02:28:18
【问题描述】:

我正在尝试在 java 中读取 xls 文件并将其转换为 csv。问题是它包含希腊字符。我使用了各种不同的方法,但没有成功。

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"));

将其与不同的编码器一起使用,例如 utf16 和 windows-1253,当然也没有使用字节数组。没有工作。有什么想法吗?

【问题讨论】:

    标签: java csv character-encoding xls


    【解决方案1】:

    使用“ISO-8859-7”而不是“UTF-8”。它适用于拉丁语和希腊语。见documentation

     InputStream in = new BufferedInputStream(new FileInputStream(new File(myfile)));
    
            result = new Scanner(in,"ISO-8859-7").useDelimiter("\\A").next();
    

    【讨论】:

      【解决方案2】:

      应在 CSV 文件的开头输入字节顺序掩码 (BOM)。

      你能试试这个代码吗?

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-22
        • 1970-01-01
        • 2013-08-17
        • 2020-12-11
        • 2015-07-30
        • 1970-01-01
        相关资源
        最近更新 更多