我正在 JTable 中显示一个 csv 文件(带有 UTF-8 编码和法语口音)。要读取该文件,我使用以下几行(s_path 是一个与 csv 文件的路径相对应的字符串):
reader = new CSVReader(new FileReader(s_path),',');
do{
String currentLine = reader.readNext();
...
}
为了显示 JTable 中单元格的内容,我使用 html(即,“html”和“body”标记,如果单元格显示在多行上,则最终使用“br”标记)
当我在 Eclipse 中执行该项目时,它工作正常。但是,如果我从项目中导出 .jar 文件(并使用完全相同的 csv 文件),则不会显示重音符号(例如,请参见下图)。
我真的不知道如何解决这个问题。您有什么建议吗?
如有必要,请随时询问更多详细信息。
提前致谢。
最佳答案
如果文件确实是使用 UTF8 编码的,则应该使用
reader = new CSVReader(new InputStreamReader(new FileInputStream(s_path), StandardCharsets.UTF_8), ',');
阅读它。您这样做的方式,它使用您平台的默认字符集,这可能不是 UTF8。
关于java - JTable 中的重音在 Eclipse 中显示,但在 .jar 中不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29983700/