我正在尝试从文本文件中读取文本。有一些特殊字符,如 å、ä 和 ö。当我制作一个字符串并打印出该字符串时,我得到了?来自这些特殊字符。我正在使用以下代码:
File fileDir = new File("files/myfile.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(fileDir), "UTF8"));
String strLine;
while ((strLine = br.readLine()) != null) {
System.out.println("strLine: "+strLine);
}
谁能告诉我出了什么问题吗?我希望 strLine 显示并保存 å、ä 和 ö,因为它们在文本文件中。提前致谢。
最佳答案
问题可能不在于文件,而在于您尝试打印的控制台。我建议您按照以下步骤操作
- 确保您正在读取的文件采用 UTF-8 编码。
- 确保您要打印的控制台具有正确的编码/字符集来显示这些字符
最后这篇文章Unicode - How to get characters right?是必读的。
关于java - 为什么我得到?当我尝试从 java 的文本文件中读取 ä 字符时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11801543/