字符编码在不同的机器上

时间:2012-08-22 18:21:39

标签: java

如果两台不同的机器具有不同的字符编码。如何从java程序中获取两台机器上的相同文件应该以类似的方式读取。是否可以使用java或我们必须手动设置两台机器的编码?< / p>

3 个答案:

答案 0 :(得分:2)

听起来你只想使用类似的东西:

InputStream inputStream = new FileInputStream(...);
Reader reader = new InputStreamReader(reader, "UTF-8"); // Or whatever encoding

基本上你不必使用平台默认编码,你几乎不应该这样做。 FileReader 始终使用平台默认编码是一种痛苦:(我更愿意明确指定编码,即使我明确指定我想使用平台默认编码:)< / p>

答案 1 :(得分:0)

您无需更改机器的设置。

您可以使用任何允许您设置字符编码的java.io.Reader子类。例如InputStreamReader,如下所示:

new InputStreamReader(new FileInputStream("file.txt"), "UTF8");

答案 2 :(得分:0)

您可以控制在两种环境中读取/写入文件。

Working with text files in Java

您只能在阅读方面进行控制。

  1. 您知道用于编写文件的编码:确定用于编写文件的编码并使用相同的编码来读取文件。
  2. 您不知道用于编写文件的编码:您可以做的最好就是猜测编码:Character Encoding Detection Algorithm
  3. <强>更新

    如果你的问题是你没有在eclipse控制台中正确看到输出,那么问题可能在于eclipse本身的编码设置。阅读this articl e,了解如何修复日食。