自己遇到的phpQuer采集的内容乱码解决方法

最近在使用phpQuer采集一个网站搜索结果的时候发现是乱码,这里是采集搜索中文的结果内容乱码,英文的结果内容返回的是正常的,并且只有内容页的时候才会乱码,采集title居然是正常的很奇怪。phpQuer似乎并没有说到如何自定义设置编码,网上搜了一下大致原因就是phpQuer在采集内容的时候是自己通过mb_detect_encoding检查编码,但是这个是不准确的尤其是一些非英文的网站,mb_detect_encoding和documentCharset会进行对比检查不到用的是ISO-8859-1,这大概应该是乱码的原因。

按照网上的解决方法设置phpQuery::$defaultCharset="编码"对我来说不起作用,设置 mb_convert_encoding($content,'ISO-8859-1','utf-8')和mb_convert_encoding($content,'utf-8','GBK')也无效,最终结果方法是全部uft8,mb_convert_encoding($content,'utf-8'),即:

1
$content = mb_convert_encoding($content,'utf-8')

OK成功!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: