使用java读取古吉拉特邦语言的文件,但得到的是&引用;
我正在读一个使用java的unicode文件 这是我的档案: 它的编码是unicode。 但是,每当我试图用java中的UTF-8或UTF-16阅读这篇文章时,它都能正确地阅读英语单词,但不能阅读古吉拉特语中的其他单词。它给了"什么"??????只有我有我问过的同样的问题。但是没有人回答,所以改变了我的方法。我从MSSQL数据库中读取数据,该数据库有nvarchar列(古吉拉特语)并将其存储在一个文件中,现在我尝试使用java从该文件中读取数据。但仍然没有得到它 我尝试将文件的编码改为UTF-8和unicode大端,我尝试了所有的方法,但没有得到想要的结果 这是我的java代码:使用java读取古吉拉特邦语言的文件,但得到的是&引用;,java,file,unicode,Java,File,Unicode,我正在读一个使用java的unicode文件 这是我的档案: 它的编码是unicode。 但是,每当我试图用java中的UTF-8或UTF-16阅读这篇文章时,它都能正确地阅读英语单词,但不能阅读古吉拉特语中的其他单词。它给了"什么"??????只有我有我问过的同样的问题。但是没有人回答,所以改变了我的方法。我从MSSQL数据库中读取数据,该数据库有nvarchar列(古吉拉特语)并将其存储在一个文件中,现在我尝试使用java从该文件中读取数据。但仍然没有得到它 我尝试将文件的编码改为UTF-
File fileDir = new File("C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python35\\data.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(fileDir),"UTF-16"));
String str;
while ((str = in.readLine()) != null) {
System.out.println(str);
}
in.close();
我通过套接字连接将这些数据定向到我的android应用程序。我试图在文本视图上显示它,但它也给了我一个“?”符号。。
我还试着用textview.setText(“તારુ નામ શુ છે ?")代码>并正确显示
当我试图通过套接字连接从java发送硬编码字符串时(字符串与上面写的相同),它会引发以下错误:
java:23:错误:编码Cp1252的不可映射字符
ds.写入字节(“αñα”╛α¬░α½? નα¬╛ᬫ α¬╢α½?α,,α½ç?)
您的问题是您使用的是System.out.println。它使用平台编码,因此不受支持
尝试使用PrintStream,它应该可以工作。您可以使用以下配置PrintStream:
PrintStream ps = new PrintStream(System.out, true, "UTF-8");
(我也认为UTF-8应该适合您)。您如何检查它?可能是输出格式(控制台、日志)不支持非unicode字符。我正在使用cmd..@defaultlocaleWindows命令行可能需要配置以支持unicode输出。检查此问题:您确实需要隔离问题。Jon Skeet如何检查字符。现在您可能需要检查控制台和套接字连接。发送ha时会发生什么rdcoded字符串?我已经更新了问题。@defaultlocaleOk。我会尝试一下,但我的主要目标是在android应用程序的文本视图中打印这些数据。你能看看这里吗:这也可能是你使用的字体有问题。你的回答给了我另一个想法,我已经解决了我的问题。非常感谢。@Aditya K