我遇到了两个特殊字符,它们似乎没有被 ISO-8859-1
字符集涵盖,即它们没有进入我的程序。
德语 ß
和挪威语 ø
我正在阅读如下文件:
FileInputStream inputFile = new FileInputStream(corpus[i]);
InputStreamReader ir = new InputStreamReader(inputFile, "ISO-8859-1") ;
有没有一种方法可以让我读取这些字符而无需应用手动替换作为解决方法?
[编辑]
这是它在屏幕上的样子。请注意,我对其他口音没有问题,例如è 和很多...
最佳答案
这两个字符都出现在 ISO-Latin-1 中(检查我的名字,看看我为什么调查这个)。
如果没有正确读入字符,最可能的原因是文件中的文本没有以该编码保存,而是以其他编码保存。
根据您的操作系统和文件来源,可能的编码可能是 UTF-8 或 Windows 代码页,如 850 或 437。
最简单的方法是使用十六进制编辑器查看文件并报告为这两个字符保存的确切值。
关于java - 在Java中读取带有重音字符的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5844845/