尝试编译Java程序时出现Cp1252编码无法映射的字符

3

我尝试用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 编码错误?


3
使用双引号代替反引号。 - Jesse
2
你正在使用智能引号,应该使用普通引号(对于美国/英国英语键盘,这将是“Enter”键左侧的键)。 - George Stocker
1个回答

2
问题在于您使用了智能引号而不是实际的引号字符。
以下是您代码的“修复”版本:
import acm.program.*; 
public class test extends Program
{
    public void run() { println("Hello world!!!"); }
} 

请注意"之间的区别。
要解决这个问题(这取决于您的键盘,我认为),您应该使用紧挨着回车键左边的"字符。

@MariosAth 您需要进行谷歌搜索和 Stack Overflow 搜索以解决此问题,并且如果这是一个问题,就发布一个新问题。 - George Stocker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接