【问题标题】:Same unicode character behaves differently in different IDEs相同的 unicode 字符在不同的 IDE 中表现不同
【发布时间】:2014-06-18 14:07:33
【问题描述】:

当我阅读以下 unicode 字符串时,它的读取方式不同。当我使用 netbeans 执行程序时,它工作正常,但当我尝试直接从 CMD 使用 Eclipse / 时,它不起作用。

阅读后添加ƒÂ这些字符

那么字符串就变成Mýxico

要读取的字符串是Mýxico...我使用带有Encoding的CSVReader读取如下。

    sourceReader = new CSVReader(new FileReader(soureFile));
    List<String[]> data = sourceReader.readAll();

有什么建议吗??????

【问题讨论】:

  • 不清楚文本来自哪里,或者您在哪里查看结果。你说你正在使用“CSVReader with Encoding” - 哪种编码?
  • 我正在使用 utf-8 编码读取..更新了 qn
  • 您如何观察到字符串变得不正确?为什么字符串不是以适当的重音开头的“Mexico”?
  • 我只是显示它,发现它正在阅读,如 qn 中所述
  • 对,正如我之前所说,不要那样做。相反,遍历字符串的长度并打印出每个char 的UTF-16 代码单元。这样您就确切地知道字符串在内存中的样子。 (至于无法使用您的 jar 文件在 netbeans 中重现这一点 - 听起来您目前有很多不确定性,我们无法轻易提供帮助......)

标签: java eclipse csv netbeans unicode


【解决方案1】:

听起来不同的编辑器使用不同的编码。例如,一个使用 utf-8,一个使用其他。

检查所有编辑器中的编码设置是否相同。

【讨论】:

    【解决方案2】:

    我们应该在读取文件时使用编码。所以上面的语句应该改成如下

        targetReader=new CSVReader(new InputStreamReader(
        new FileInputStream(targetFile), "UTF-8"));
        data = targetReader.readAll();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-27
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      • 2011-04-11
      • 2016-01-22
      • 2014-01-17
      • 2015-01-31
      相关资源
      最近更新 更多