尝试编译Java程序时编码Cp1252的不可映射字符

时间:2014-12-20 16:26:54

标签: java cp1252

我尝试用Java编写Hello World程序,但收到CP1252错误:

import acm.program.*; 
public class test extends Program
{
    public void run() { println(”Hello world!!!”); }
} 

这是错误:

C:\>javac -cp acm.jar test.java
test.java:4: error: unmappable character for encoding Cp1252
public void run() { println(ÔÇ?Hello world!!!ÔÇ?);
                              ^
test.java:4: error: unmappable character for encoding Cp1252
public void run() { println(ÔÇ?Hello world!!!ÔÇ?);
                                               ^
test.java:4: error: ';' expected
public void run() { println(ÔÇ?Hello world!!!ÔÇ?);
                                          ^
test.java:4: error: not a statement
public void run() { println(ÔÇ?Hello world!!!ÔÇ?);
                                             ^
test.java:5: error: reached end of file while parsing
}
 ^
5 errors`

简单的test.java程序显然是正确的,我不知道问题是什么。

如何解决CP1252编码错误?

1 个答案:

答案 0 :(得分:2)

问题在于您使用的是智能引号而不是实际的引号字符。

以下是您的代码的“固定”版本:

import acm.program.*; 
public class test extends Program
{
    public void run() { println("Hello world!!!"); }
} 

请注意"之间的区别。

要解决此问题(我认为这取决于您的键盘),您应该使用"键左侧的Enter字符。