我在java中将印地文字符作为字符串打印,我收到错误。我将java文件保存在UTF-8的记事本中。
public class MainClass {
public static void main(String args[]) throws Exception {
String s = "साहिलसाहिल";
System.out.print(s);
}
}
编译后,我收到2个非法字符错误。为什么这样?
答案 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