我使用的CSV文件包含德语和法语的内容。我正在使用文件阅读器通过Java阅读这些文件。它在测试环境中工作正常,但在生产中,csv文件内容在读取后会在某些符号中被更改(我可以在日志中看到)。
答案 0 :(得分:1)
你永远不应该使用FileReader。它总是使用平台的默认字符集来读取文件。
测试环境中的默认字符集与生产环境中的默认字符集不同。正是由于这个原因,你永远不应该依赖默认的字符集。我假设你知道CSV文件的实际字符集是什么,所以在代码中明确指定它:
String charset = "ISO-8859-1";
Reader csvReader = new BufferedReader(
new InputStreamReader(new FileInputStream(fileName), charset));