问题描述:
使用python进行gb2312编码,遇到如下问题
if isinstance(q, str):
q = q.decode("utf8")
t = q.encode("gb2312")
UnicodeEncodeError: 'gb2312' codec can't encode character u'\u5225' in position 0: illegal multibyte sequence
其中编码错误的汉字是: 别克
经过阅读这篇文章GBK与GB2312的些许不同 使用gbk进行编码,问题就解决。
import urllib
a = u"別克"
c = a.encode("gbk")
再次遇到问题:
UnicodeEncodeError: 'gbk' codec can't encode character u'\u2006' in position 1: illegal multibyte sequence
这次编码错误的字是:g l 8
解决方法(参考python下字符编码和解码问题):
//替换
a = u'g l 8'
a = a.replace(u'\u2006', '')
c = a.encode("gbk")
//加ignore参数
c = a.encode("gbk", 'ignore')