在java中将印地语字符作为字符串打印会导致错误

时间:2011-09-06 10:27:56

标签: java

我在java中将印地文字符作为字符串打印,我收到错误。我将java文件保存在UTF-8的记事本中。

public class MainClass {
    public static void main(String args[]) throws Exception {
        String s = "साहिलसाहिल";

        System.out.print(s);
    }
}

编译后,我收到2个非法字符错误。为什么这样?

4 个答案:

答案 0 :(得分:6)

您必须指定适当的编码:

javac -encoding utf8 MainClass.java

答案 1 :(得分:2)

尝试编译如下:

javac -encoding UTF-8 MainClass.java

确保您也使用正确的编码名称。

如果失败,可能是记事本在前面添加BOM的问题,这让java编译器感到困惑。如果这是您的问题,您应该停止使用记事本编辑UTF-8文件。使用不会将BOM添加到UTF-8文件的体面文本编辑器。

答案 2 :(得分:1)

尝试

java -Dfile.encoding=UTF8 MainClass.java

答案 3 :(得分:0)

您需要以UTF-8格式保存源文件(使用Notepad ++或Eclipse IDE轻松完成),然后使用-encoding切换到javac进行编译。

javac -encoding utf8 MainClass.java