Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中将印地语字符打印为字符串会导致错误_Java - Fatal编程技术网

在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

在java中,我将印地语字符打印为字符串,但出现了一个错误。我使用UTF-8将java文件保存在记事本中

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或其他系统上编译的吗?这可能与: