Py学习  »  问与答

UnicodeEncodeError: 'gbk' codec can't encode char

爱情的枪 • 12 年前 • 5543 次点击  

遇到问题: UnicodeEncodeError: 'gbk' codec can't encode char

请问如何解决啊

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/211
文章 [ 2 ]  |  最新文章 12 年前
yangyu
Reply   •   1 楼
yangyu    12 年前

你的python版本是?问问题要专业一点,记住一点只有unicode string才可以encode, 看你的错误信息,你肯定是对byte string调用了encode,看看http://yuyang.farbox.com/python-note.html#sec-1-2与http://nedbatchelder.com/text/unipain.html特别是后者,仔细看完绝对受益匪浅

Py站长
Reply   •   2 楼
Py站长    12 年前

有可能是因为文件编码的问题,之前遇到过,

如果我们打开一个文件: f = open("out.html","w"),在windows下面,新文件的默认编码是gbk,这样的话,python解释器会用gbk编码去解析我们的网络数据流,然而网络数据流此时已经是decode过的unicode编码,这样的话就会导致解析不了,出现上述问题。

解决的办法就是,改变目标文件的编码: f = open("out.html","w",encoding='utf-8')。