为什么会出现乱码呢?
这就是 lxml 的蛋疼之处,给它 unicode 它有的时候它不认,给它 bytes 它又处理不好
方法1:
response.content = (response.content).decode(‘utf-8‘) #目标站是 utf-8 编码
方法2:
response.content = response.content.decode(‘gbk‘, errors=‘ignore‘)#目标站是gbk
方法3:(binux的方案)
import pyquery
doc = pyquery.PyQuery(response.text)
方案3的好处是,不必知道源站编码,而直接由pyquery来接管。
是用curl抓取的数据是用类似gzip压缩后的数据导致的乱码。GBK或者UTF8汉字之类的乱码
MySQL使用时,有一件很痛苦的事情肯定是结果乱码。将编码格式都设置为UTF8可以解决这个问题,我们今天来说下为什么要这么设置,以及怎么设置。在编程语言中,我们为了防止中文乱码,会使用unicode对中文字符做处理
在Eclipse中,js文件的默认编码是ISO-8859-1,这种编码和中文不兼容,导致了解码失败,继而出现了中文乱码。解决的方法就是将js文件的编码修改为对应的中文编码就可以了。
HTML文件乱码一般是因为编码格式不匹配造成的,比如:不同编码内容混杂、浏览器不能自动检测网页编码等等;但无论是哪种情况造成乱码,在HTML文件头中设置网页编码,匹配好编码格式就可。
不同编码内容混杂:HTML乱码是由于html编码问题照成;使用记事本编辑html:使用记事本直接编辑html也容易照成html编码乱码
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!