php如何过滤特殊汉字? 或替换16进制。。
在计算一个dom的过程中,由于body中有了一个不知道是什么汉字的汉子
结果导致如下代码出现如下错误
代码:
PHP code<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$dq = new Zend_Dom_Query($body); $dq->query("*");
原来的body是gb2312编码的,出现的错误是:
[0]=>
object(LibXMLError)#45 (6) {
["level"]=>
int(3)
["code"]=>
int(6003)
["column"]=>
int(0)
["message"]=>
string(70) "input conversion failed due to input error, bytes 0xCB 0x87 0xCA 0xFB
"
["file"]=>
string(0) ""
["line"]=>
int(0)
}
错误中0xCB 0x87 0xCA 0xFB是 (藝墅) 两个字 , 我不知道这个帖子提交后这个汉字是否能正确显示 ,反正是百度搜索不了。。。
有没有办法替换掉这两个汉字
我str_replace了下 , 没成功
preg_replace好像也不行。。
PS 能在UltraEDIT中能看到。。。。。
就是如何在16进制下替换???
------解决方案--------------------body 换成gbk?
------解决方案--------------------转成编码形式
$str = '中华人民共和国';
$str = mb_convert_encoding($str, "html-entities","utf-8" );//结果:哪一队优先开球
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn