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" );//结果:哪一队优先开球
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn