如何确定正确的编码?

时间:2013-03-08 09:16:37

标签: java

我试图打印一些中文字符如下,但这不起作用。我想应该有一些编码要做。你能帮忙解决这个问题吗?

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 个答案:

答案 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/

相关问题