我完成了一个项目,在该项目中,我从用记事本编写的文本文件中读取。 我的文本文件中的字符是阿拉伯语,文件编码类型是UTF-8。当在Netbeans(7.0.1)中启动我的项目时,一切似乎都没有问题,但是当我将项目构建为(.jar)文件时,以这种方式显示的字符是:ÇáãæÇÞÚááåØæíÑ。 我该如何解决这个问题?从文本文件中读取阿拉伯字符
回答
您很可能在某处使用JVM默认字符编码。如果您100%确定您的文件使用UTF-8编码,请确保您在阅读时明确指定UTF-8。例如这段代码被打破:
new FileReader("file.txt")
,因为它使用JVM默认的字符编码 - 你可能没有控制权,显然NetBeans使用UTF-8,而您的操作系统定义不同的东西。请注意,如果你希望你的代码是可移植的,这使得FileReader
类完全无用。
而是使用下面的代码片段:
new InputStreamReader(new FileInputStream("file.txt"), "UTF-8");
你没有提供你的代码,但是这应该给你一个总体印象,这应如何实现。
就是这样,非常感谢。 – 2012-07-07 21:58:23
也许这个例子会有所帮助。我将尝试将utf-8文件的内容打印到以“Cp852”编码的IDE控制台和系统控制台中。
我d:\data.txt
包含ąźżćąś adsfasdf
让我们检查这个代码
//I will read chars using utf-8 encoding
BufferedReader in = new BufferedReader(new InputStreamReader(
new FileInputStream("d:\\data.txt"), "utf-8"));
//and write to console using Cp852 encoding (works for my windows7 console)
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out,
"Cp852"),true); // "Cp852" is coding used in
// my console in Win7
// ok, lets read data from file
String line;
while ((line = in.readLine()) != null) {
// here I use IDE encoding
System.out.println(line);
// here I print data using Cp852 encoding
out.println(line);
}
当我在Eclipse输出运行它会
ąźżćąś adsfasdf
Ą«ľ†Ą? adsfasdf
但是从系统控制台输出将是
感谢您的帮助 – 2012-07-07 21:59:42
如果我的回答真的有点帮助,我很高兴:) – Pshemo 2012-07-07 22:02:56
- 1. 从UTF-8文本文件中读取阿拉伯文字?
- 2. 读取文本文件阿拉伯语字符在PHP
- 3. 无法读取Java中的阿拉伯语文本文件
- 4. 如何阅读从.txt文件阿拉伯文字中的Android
- 5. 阿拉伯文文本框
- 6. 印刷阿拉伯文文本文件
- 7. 从java中混合文本中提取阿拉伯文本
- 8. 使用WebClient阅读阿拉伯文本
- 9. 从阿拉伯语文本中删除重音字符
- 10. 用excel读取csv文件中的阿拉伯文时出错
- 11. 如何从varchar列读取阿拉伯文字?
- 12. 从.txt文件获取阿拉伯文字?
- 13. 从阿拉伯文字符串c中删除特殊字符#
- 14. 无法读取阿拉伯语文本文件的第一个字
- 15. Parse Json阿拉伯文本
- 16. 阿拉伯语文本框
- 17. 如何从python中的阿拉伯文字符串中删除英文文本?
- 18. 显示阿拉伯文字
- 19. Pdflib6阿拉伯文连字
- 20. 如何从varchar数据类型读取阿拉伯字符?
- 21. 无法从CSV阿拉伯文文本保存为txt文件
- 22. 的JavaScript +删除阿拉伯语文字读音符号动态
- 23. 阿拉伯文文本对齐
- 24. 如何从sql sever 2005中读取java Servlet中的阿拉伯文字母?
- 25. Java中的阿拉伯语文本AWT
- 26. 从文本框中写入阿拉伯语文本到java中的文件
- 27. 如何从cmd读取阿拉伯文输入?
- 28. 如何在Asp.net中读取阿拉伯字符集数据
- 29. 阿拉伯字符编码
- 30. 阿拉伯字符运行
你能告诉我们你是如何从文件中读取这些字符并使用它们的? – Pshemo 2012-07-07 18:34:37