如何使用PHP解析特殊字符?

时间:2016-07-30 01:50:54

标签: php html json html-entities

我使用PHP和cURL访问远程API。它返回一个JSON结果。 API返回用户发布的内容,所以我期待这里和那里有一些奇怪的字符。然而,非常简单的字符,如 - 或'正在通过PHP作为中文字符回显(我知道那些不是真正的破折号或撇号,而是一些等价物)。尽管如此,其他网站设法将它们显示得很好,所以我不确定为什么它们会在我的案例中以中文字符回显。

例如:角色'回声为'。

我已经尝试了各种PHP方法来让它们正确编码或显示,包括:

htmlentities()
utf8_encode()
htmlspecialchars()

并且没有任何区别。

此外,我已经检查过,而且我的网页确实有

<meta charset="utf-8">

at <head>元素。

我错过了一个明显的解决方案吗?我觉得我一定是。

3 个答案:

答案 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)

所以,我只是个白痴。我没注意到我的页面上添加了错误的字符集,但是有一个冲突的元标记。感谢所有花时间尝试和帮助的人。