JTable 中的重音显示在 Eclipse 中,但不显示在 .jar 中

Accent in JTable displayed in Eclipse but not in a .jar

我在 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。