访问百度后乱码 怎么办

mwangwang 2014-11-16 05:28:20
teibaUrl = 'http://www.baidu.com/'
content = urllib2.urlopen(teibaUrl).read();
print chardet.detect(content)
print content;

检测是utf8编码,打印到控制台英文正常 中文乱码
...全文
174 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mwangwang 2014-11-19
  • 打赏
  • 举报
回复
百度页面被gzip压缩了 解压后还需要解码 mbcs这东西不熟
mwangwang 2014-11-19
  • 打赏
  • 举报
回复
ht=sendPost.read() print sendPost.info() compressedstream = StringIO.StringIO(ht) gzipper = gzip.GzipFile(fileobj=compressedstream) data = gzipper.read() print chardet.detect(data) print data.decode('utf-8','replace').encode(sys.getfilesystemencoding()) 解决了 还是有点不大懂
mwangwang 2014-11-19
  • 打赏
  • 举报
回复
引用 3 楼 cdd801 的回复:
在import 之前添加#coding:utf-8, 之后设置编码 reload(sys) sys.setdefaultencoding("utf-8")。主要问题出在编码设置上。
还是不行 各种解码也试过了
James-CDD 2014-11-18
  • 打赏
  • 举报
回复
在import 之前添加#coding:utf-8, 之后设置编码 reload(sys) sys.setdefaultencoding("utf-8")。主要问题出在编码设置上。
mwangwang 2014-11-17
  • 打赏
  • 举报
回复
引用 1 楼 panghuhu250 的回复:
[quote=引用 楼主 mwangwang 的回复:] teibaUrl = 'http://www.baidu.com/' content = urllib2.urlopen(teibaUrl).read(); print chardet.detect(content) print content; 检测是utf8编码,打印到控制台英文正常 中文乱码
检测出编码后,还要解码。

print content.decode('utf-8')
[/quote]还是不行 解码到一半报错
panghuhu250 2014-11-16
  • 打赏
  • 举报
回复
引用 楼主 mwangwang 的回复:
teibaUrl = 'http://www.baidu.com/' content = urllib2.urlopen(teibaUrl).read(); print chardet.detect(content) print content; 检测是utf8编码,打印到控制台英文正常 中文乱码
检测出编码后,还要解码。

print content.decode('utf-8')

37,722

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧