2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案

PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案

时间:2023-11-27 10:52:44

相关推荐

PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案

后端开发|php教程

xml

后端开发-php教程

php中DOMDocument对于xml操作我们只要是英文是没有问题了,但如果是中文字体就会有乱码问题了,下面我们就此问题给各位介绍一些解决办法吧.

码云源码咋下载不了,ubuntu文件删除记录,tomcat8配置项目,爬虫数据 售卖,php投票设计方案,柬埔寨SEOlzw

PHP的DOM内部是utf8机制的,在loadHTML时,是通过检查字符中meta的charset来设置编码的,如果没有charset,就当iso8859进行处理了,而这种情况下进行saveXML时,输出来的却是utf8,所以就看到乱码了.

表白纯html源码,ubuntu怎么滚动屏幕,爬虫解说夜幕山庄,debian启动php,seo排名挂机lzw

这么说是不是还不太理解,举个例子:

博彩php源码,ubuntu快速路由设置,爬虫拉勾的薪资,php hashids,SEO交通大厅lzw

$xml = new DOMDocument();@$xml->loadHTML(

我就是测试看看

);$dom = new DOMXPath($xml);echo $dom->query(//div)->item(0)->saveXML();

打开网页执行,你会发现输出乱码了,那如何解决这个问题呢?有两种方式.

第一种:在loadHTML的时候指定编码,下面这段代码引用自官方文档中的回复,代码如下:

$doc = new DOMDocument();$doc->loadHTML(\ . $html);foreach ($doc->childNodes as $item){if ($item->nodeType == XML_PI_NODE){$doc->removeChild($item); // remove hack}}$doc->encoding = UTF-8; // insert proper

第二种方法:通过iconv对输出的字符重新转换,代码如下:

echo iconv("UTF-8", "GB18030//TRANSLIT", $dom->saveXML($n) );

以上所述是小编给大家介绍的PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对PHP中文网的支持!

更多PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案相关文章请关注PHP中文网!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。