mac下 网页输出乱码(bytes码)
使用mac 的童鞋,只需要将
fout.write("" % data['title'].encode('utf8'))
fout.write("" % data['summary'].encode('utf8'))
后面的.encode('utf8')去掉,即可解决乱码问题,因为mac(Linux)是默认utf8编码,而Windows默认是gbk,所以老师才会解码. ps :这个坑太深,搞了我3个小时
使用mac 的童鞋,只需要将
fout.write("" % data['title'].encode('utf8'))
fout.write("" % data['summary'].encode('utf8'))
后面的.encode('utf8')去掉,即可解决乱码问题,因为mac(Linux)是默认utf8编码,而Windows默认是gbk,所以老师才会解码. ps :这个坑太深,搞了我3个小时
2017-02-07
终于搞清楚了,感觉是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>")
举报