php如何从字符串中删除邪恶的字符

时间:2012-03-10 16:27:26

标签: php special-characters file-get-contents

我使用* file_get_contents *来获取一些远程文本,文本包含左/右双引号文本,例如“Green Slime”

* file_get_contents *将此文本返回为�Green Slime�

查看远程源,“”字符是字面值,而不是实体代码。源中没有字符集定义。

是否有可以添加到* file_get_contents *的上下文来纠正此问题?如果没有,我怎么能* str_replace *这些字符?

编辑:像htmlentities()和str_replace()这样的明显解决方案不起作用。使用cURL时,我也会得到相同的字符。

4 个答案:

答案 0 :(得分:0)

将其直接放在head标记下:

<meta charset="utf-8">

答案 1 :(得分:0)

HTML实体。

http://php.net/manual/en/function.htmlentities.php

这将解决您的问题并修复输出。

答案 2 :(得分:0)

我使用ord()确定这些字符是chr(147)和chr(148),然后使用str_replace( Chr(147), "&#147", $str )

不确定为什么file_get_contents和curl都会以无法在浏览器中显示的方式返回此内容。

答案 3 :(得分:-1)

查看utf8_decode / encode函数