最近突然对PHP有了点兴趣,做了一个从其它网站检索信息的程序。结果发现有的网站会中文会出现乱码,而有的又不会。研究了很久,在网上也查了很多资料都不行。后来在翻了N页的Google检索结果后找到下面这篇文章,一语中的:
http://www.fwolf.com/blog/post/314
乱码的原因是有的页面中没有设置默认的字符集(没有[meta ... charset..]节点)。在调用DomDocument的LoadHtml接口时,需要传入的HTML中没有指定字符集,它就会用默认的,好像是:iso-8859-1。中文肯定也就乱码了。
解决办法其实很简单,把<meta http-equiv="Content-Type" content="text/html;charset=utf-8">插入到<title>标记之前即可。
困扰了我一天的问题啊~~~