我试图打印一些中文字符如下,但这不起作用。我想应该有一些编码要做。你能帮忙解决这个问题吗?
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.
}
编辑:如何在打印字符串之前以编程方式执行此操作(更改/应用编码)?
答案 0 :(得分:1)
Windows-1252字符编码不支持代码中的字符。使用UTF-8。
答案 1 :(得分:0)
eclipse中的控制台默认不支持这些字符。 这是<{p>}上的tutorial
答案 2 :(得分:0)
您可以更改文件输出中的默认编码:
new PrintWriter(fileName, "UTF-8");
另一个问题是,编译器只能读取ASCII字符(但JVM也可以读取其他字符)。这意味着,不能从外来字符构建字符串。正确的方法,确定字符的Unicode - 4字符十六进制代码 - 并构建如下:
String myString = "\u3b12\uc2d4hello"
这将创建一个字符串,其中第一个char为代码3b12(使用\u
Unicode字符进行转义)+ c2d4 + hello。
这是我的输出:
㬒싔hello
答案 3 :(得分:0)
问题是eclipse控制台编码不是utf-8。
你应该改变控制台编码,
我希望此链接可以帮助您:http://www.mkyong.com/java/how-to-display-chinese-character-in-eclipse-console/