从Android App调用PHP REST API不会正确显示变音符号(äüö)

时间:2018-01-09 16:20:55

标签: php android mysql okhttp okhttp3

我在PHP中构建了一个简单的REST API,它向我的MySQL数据库发出查询(完全是utf-8编码)并将结果作为JSON数组返回。在PHP中,我还将字符集设置为UTF-8:--noreload

因此,当我在网络浏览器中调用mysqli_set_charset($con, "UTF8");这样的服务时,我会得到类似的内容:

http://<host>/getData.php

这是完全正确的。

此外,我正在使用OkHttp3从我的Android应用程序中调用我的REST服务。但这总是给我以下输出:

[{"id":"6","name":"föö","content":"bär"}]

显然,charset或类似的东西有问题。

这是我的JAVA代码:

[{"id":"6","name":"f&ouml;&ouml;","content":"b&auml;r"}]

你能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:1)

好的,我明白了! Renan Arceno提醒我,我的Rest Service给了我HTML实体。因此,我没有在Java中使用Html.fromHtml(result) - 这显然也有效 - 我删除了将我的字符转换为HTML实体的PHP函数htmlentities()

现在它有效。谢谢你!