java从文本文件读取阿拉伯文字符
我已经完成了一个项目,其中我从一个用记事本写的文本文件中阅读。 我的文本文件中的字符是阿拉伯语,文件编码类型是UTF-8。 在Netbeans(7.0.1)内部启动我的项目时,一切似乎都正常,但当我将项目构建为(.jar)文件时,字符以这种方式显示:嘤嘤嘤啜嘤嘤æ嘤嘤嘤嘤嘤嘤ñ。 请问我怎样才能解决这个问题
你可以在下面搜索框中键入要查询的问题!
我已经完成了一个项目,其中我从一个用记事本写的文本文件中阅读。 我的文本文件中的字符是阿拉伯语,文件编码类型是UTF-8。 在Netbeans(7.0.1)内部启动我的项目时,一切似乎都正常,但当我将项目构建为(.jar)文件时,字符以这种方式显示:嘤嘤嘤啜嘤嘤æ嘤嘤嘤嘤嘤嘤ñ。 请问我怎样才能解决这个问题
# 1 楼答案
很可能您正在某处使用JVM默认字符编码。如果100%确定文件是使用UTF-8编码的,请确保在读取时也明确指定UTF-8。例如,这段代码被破坏:
因为它使用JVM默认字符编码——您可能无法控制它,显然Netbeans使用UTF-8,而您的操作系统定义了一些不同的东西。注意,如果您希望代码是可移植的,那么这使得^{} 类完全无用
而是使用以下代码段:
您没有提供代码,但这应该给您一个如何实现的总体印象
# 2 楼答案
也许这个例子会有所帮助。我将尝试将utf-8文件的内容打印到IDE控制台和编码为“Cp852”的系统控制台
我的
d:\data.txt
包含ąźżćąś adsfasdf
让我们检查一下这个代码
当我在Eclipse中运行它时,输出将是
但系统控制台的输出将是