我有一个 Android 应用程序,它采用带有数据的 ISO8859-1 (Latin1) 文件。 本质上,我想将葡萄牙语单词的字符转换为不带重音的对应字符。
是的,我在谷歌上搜索了很多,并尝试了
Normalizer.normalize(input, Normalizer.Form.NFD);
技巧,是的,我也尝试过
String.replaceAll("[áâã]", "a").replaceAll(....)....
但字符串仍保留重音符号。我还尝试弄乱项目编码,但不确定在哪里更改(如果这是一个解决方案的话)。
最佳答案
好的,我找到答案了。只是在读取InputStreamReader时添加了“Latin1”(看起来,尽管有配置,它还是假设UTF-8或其他)。
这就是我现在读取文件的方式:
br = new BufferedReader(new InputStreamReader(new FileInputStream(Environment.BR_DB), "Latin1"));
我需要添加 UnsupportedEncodingException。
感谢之前的回答,
L.
关于android - 如何去除口音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12424456/