【发布时间】:2012-08-16 06:01:11
【问题描述】:
我正在尝试编写一个 Java 应用程序,该应用程序将在 linux 服务器上运行,但它会使用 cp-1252 作为字符集来处理在旧版 Windows 机器上生成的文件。有没有办法将这些文件编码为 utf-8 而不是生成的 cp-1252?
【问题讨论】:
-
这个问题在发布时无法回答......这完全取决于生成这些文件的内容(您没有告诉我们)。如果是 Excel 2007,那么答案是否定的。
-
但是,如果编码参数正确,Java 应该能够很好地处理这些 Windows 文件。
-
谢谢@theglauber (+2) - 你能解释一下为什么 Excel 2007 会成为破坏者吗?另外,你能举一个正确编码参数的例子吗?再次感谢!
-
只是从经验和挫折中说出来。您无法在 Excel 2007 中指定 csv 文件的编码。在 Java 中,您将使用构建在 FileInputStream 之上的具有正确编码(“Windows-1252”)的 InputStreamReader。
-
谢谢@theglauber - 请在 Eric Grunzke 的回答下方查看我的评论。您的上述建议是否解决了我的问题?
标签: java linux utf-8 character-encoding cp1252