在java中将印地语字符打印为字符串会导致错误
在java中,我将印地语字符打印为字符串,但出现了一个错误。我使用UTF-8将java文件保存在记事本中在java中将印地语字符打印为字符串会导致错误,java,Java,在java中,我将印地语字符打印为字符串,但出现了一个错误。我使用UTF-8将java文件保存在记事本中 public class MainClass { public static void main(String args[]) throws Exception { String s = "साहिलसाहिल"; System.out.print(s); } } 编译后,我得到2个非法字符错误。为什么会这样?您必须指定适当的编码: jav
public class MainClass {
public static void main(String args[]) throws Exception {
String s = "साहिलसाहिल";
System.out.print(s);
}
}
编译后,我得到2个非法字符错误。为什么会这样?您必须指定适当的编码:
javac -encoding utf8 MainClass.java
试着这样编译:
javac -encoding UTF-8 MainClass.java
确保您也使用了正确的编码名称
如果这样做失败,很可能是记事本在前面添加了一个BOM表,这让java编译器感到困惑。如果这是您的问题,您应该停止使用记事本编辑UTF-8文件。使用不向UTF-8文件添加BOM表的合适文本编辑器。尝试使用它
java-Dfile.encoding=UTF8 MainClass.java
您需要以UTF-8格式保存源文件(使用记事本++或Eclipse IDE很容易做到),然后使用-encoding
切换到javac
进行编译
javac -encoding utf8 MainClass.java
它通常应该编译(对我来说确实如此)。你能检查一下编码吗?你得到的确切错误是什么?您是在Windows或Linux或其他系统上编译的吗?这可能与: