我从一个 API
响应中获取一个 String
,我必须在一个 TextView
中显示它。这个 String
的样子是这样的:
应该是“Bürling”,但德语字符ü
未被表示。
问题在于我不知道服务器上如何对这个String
进行编码。
我尝试了将其转换为UTF-8
、windows-1252
和ISO-8859-1
,并进行了所有可能的组合,但没有成功。
我还阅读了这篇优秀的文章:
这里是我尝试过的一些链接:
如何在Java中在ISO-8859-1和UTF-8之间进行转换?
Java将Windows-1252转换为UTF-8,某些字母是错误的
有人有想法吗?
谢谢。
编辑:
我找到了原因。解析API响应时,我只是添加了这个:
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), Charset.forName("ISO-8859-15")));
之前是这样的:
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
现在
ü
字符已经正确显示。非常感谢所有的评论,这让我朝着正确的方向进行了研究。