为了账号安全,请及时绑定邮箱和手机立即绑定

mac下 网页输出乱码(bytes码)

使用mac 的童鞋,只需要将 

fout.write("" % data['title'].encode('utf8'))

 fout.write("" % data['summary'].encode('utf8')) 

后面的.encode('utf8')去掉,即可解决乱码问题,因为mac(Linux)是默认utf8编码,而Windows默认是gbk,所以老师才会解码. ps :这个坑太深,搞了我3个小时



正在回答

5 回答

可以在fout.write("<html>")下边添加一句代码:
        fout.write("<meta charset='UTF-8'>")

2 回复 有任何疑惑可以回复我~

终于搞清楚了,感觉是python2与python3的差别,解决方法是更改为fout = open('output.html', 'w', encoding='utf-8'),后面不再加上.encode('utf-8'),
如下

fout = open('output.html', 'w', encoding='utf-8')

fout.write("<html>")
fout.write("<body>")
fout.write("<table>")

# ascii
for data in self.datas:
  fout.write("<tr>")
  fout.write("<td>%s</td>" % data['url'])
  fout.write("<td>%s</td>" % data['title'])               # 若加上.encode('utf-8')则会输出编码后的二进制码
  fout.write("<td>%s</td>" % data['summary'])             # 若加上.encode('utf-8')则会输出编码后的二进制码
  fout.write("</tr>")



1 回复 有任何疑惑可以回复我~

用的这个fout.write("<td>%s</td>" %data['title'].encode('utf-8'))
windows下输出的还是乱码,怎么回事?

0 回复 有任何疑惑可以回复我~

非常感谢 ,我也遇到这个问题了

0 回复 有任何疑惑可以回复我~

这个发问题的功能就是个坑啊...

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Python开发简单爬虫
  • 参与学习       227670    人
  • 解答问题       1219    个

本教程带您解开python爬虫这门神奇技术的面纱

进入课程

mac下 网页输出乱码(bytes码)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信