我使用PHP和cURL访问远程API。它返回一个JSON结果。 API返回用户发布的内容,所以我期待这里和那里有一些奇怪的字符。然而,非常简单的字符,如 - 或'正在通过PHP作为中文字符回显(我知道那些不是真正的破折号或撇号,而是一些等价物)。尽管如此,其他网站设法将它们显示得很好,所以我不确定为什么它们会在我的案例中以中文字符回显。
例如:角色'回声为'。
我已经尝试了各种PHP方法来让它们正确编码或显示,包括:
htmlentities()
utf8_encode()
htmlspecialchars()
并且没有任何区别。
此外,我已经检查过,而且我的网页确实有
<meta charset="utf-8">
at <head>
元素。
我错过了一个明显的解决方案吗?我觉得我一定是。
答案 0 :(得分:0)
它不是一个特殊的章程,它的unicode。特殊包机仍然是ascii并需要8位。
而unicode占16位。
您是否尝试过删除
android avd
答案 1 :(得分:0)
API的HTTP Content-Type应该让您了解字符编码。您需要查看curl请求返回的标头,以查看您正在接收的编码。从命令行运行curl将显示:
curl -v http://...
例如,curl -v google.com
显示:
Content-Type: text/html; charset=UTF-8
然后,您需要确保在数据库和HTML元标记中尊重该字符编码。
答案 2 :(得分:-1)
所以,我只是个白痴。我没注意到我的页面上添加了错误的字符集,但是有一个冲突的元标记。感谢所有花时间尝试和帮助的人。