【问题标题】:Java - Russian EncodingJava - 俄语编码
【发布时间】:2015-09-02 12:28:51
【问题描述】:

我正在尝试像下面的示例一样打印俄语文本,但是得到了?人物。 我尝试了多种“编码”,但结果相同。

public static void main(String[] args) throws Exception {
        String t = "тест";
        System.out.println("test: " + t);
    }

输出:测试:??????

如何正确编码?

【问题讨论】:

  • 设置字符编码
  • 我已经做了 (Charset.defaultCharset()) 但结果相同?
  • 你用的是什么IDE?
  • 您的代码在这里运行良好,在法国 Mac 上,在 IntelliJ 中。确保在 IntelliJ 中用于编译源代码的编码是 UTF8。打开源文件时,您应该会在 IntelliJ 的右下角看到 UTF8。在 IntelliJ 首选项中,在 Editor - File encodings 下,确保 IDE 编码和项目编码也是 UTF8。

标签: java cyrillic


【解决方案1】:

您看到的字符无法在显示它们的设备上正确解码。这可能有很多原因,但主要原因是设备使用了另一种编码方案。要正确编码字符流,请使用以下写入文件的代码。

public static void main(String[] args) throws Exception {
    OutputStreamWriter fileWriter = new OutputStreamWriter(new FileOutputStream("myFile.txt"), "windows-1251");

    String t = "тест";
    fileWriter.write("test: " + t);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 2020-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多