3

我尝试为此添加 UTF-8,但没有成功。在 Java 中读取俄语文件应该怎么做?

      FileInputStream fstream1 = new FileInputStream("russian.txt");
      DataInputStream in = new DataInputStream(fstream1);
      BufferedReader br = new BufferedReader(new InputStreamReader(in,"UTF-8"));
4

2 回答 2

5

如果文件来自 Windows PC,请尝试使用“windows-1251”或“Cp1251”作为字符集名称。

如果文件以某种方式采用 MS-DOS 编码,请尝试使用“Cp866”。

这两种都是单字节编码,将文件类型更改为 UTF-8(即多字节)没有任何作用。

如果一切都失败了,请使用十六进制编辑器并将这些文件的一些十六进制行转储给您的问题。然后我们将检测编码。

于 2012-07-05T15:08:59.263 回答
3

正如其他人提到的,您需要知道文件是如何编码的。一个简单的检查是(ab)使用 Firefox 作为编码检测器:回答类似问题

如果这是显示问题,则取决于您所说的“读取”是什么意思:在控制台中,在某个窗口中?另请参阅如何使带有西里尔字符的字符串正确显示?

于 2012-07-05T08:04:50.270 回答