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