0

我试图打印一些汉字如下,但这不起作用。我想应该进行某种编码。你能帮帮我吗?

public static void main(String[] args)
{
    String myString = "奥妙洗衣粉";
    System.out.println(myString);

   // Output in eclipse: Some characters cannot be mapped using Cp1252 character encoding.
   // Either change the encoding or remove the characters which are not supported 
   // by the Cp1252 character encoding.
}

编辑:如何在打印字符串之前以编程方式进行(更改/应用编码)?

4

4 回答 4

1

Windows-1252 字符编码不支持您的代码中的字符。使用 UTF-8。

于 2013-03-08T09:18:49.173 回答
0

eclipse 中的控制台默认不支持这些字符。这是一个教程

于 2013-03-08T09:19:18.800 回答
0

您可以更改文件输出中的默认编码:

new PrintWriter(fileName, "UTF-8");

另一个问题,编译器只能读取 ASCII 字符(但 JVM 也可以读取其他字符)。这意味着,字符串不能由外来字符构建。正确的方法是确定字符的 Unicode - 4 char 十六进制代码 - 并像这样构建:

String myString = "\u3b12\uc2d4hello"

这将创建一个字符串,其第一个字符为代码 3b12(使用\uUnicode 字符转义)+ c2d4 + hello。

这是我的输出:

㬒싔hello  
于 2013-03-08T09:44:23.297 回答
0


问题是eclipse控制台编码不是utf-8。

您应该更改控制台编码,

我希望这个链接对你有帮助:http ://www.mkyong.com/java/how-to-display-chinese-character-in-eclipse-console/

于 2013-03-08T09:47:41.857 回答