`
wanghuan_em
  • 浏览: 5438 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

'utf8' codec can't decode byte 0x92问题解决经历

阅读更多
     公司有一个预警的任务是用python(2.6)写的,最近执行报错:
value = unicode(value, self.encoding)

UnicodeDecodeError: 'utf8' codec can't decode byte 0x92 in position 2: invalid start byte

     当按照网上说的都解决不了的时候,我在想是不是代码写的有问题。虽然它之前是运行正常的。


     我确定了python运行环境编码是uft8,文件是utf8,和python有关设置编码的都设置为utf8了。还是报错。我找到这段报错的代码行,发现是写excel单元格,如果是中文就会报错。那么这个写的数据是从哪来的,我查了下,是从数据库查询出来的。检查了下数据库连接代码。发现数据库连接没有设置编码:
conn = MySQLdb.connect(host='xx',user='xx',passwd='xx',db='xx');
改为:
conn = MySQLdb.connect(host='xx',user='xx',passwd='xx',db='xx',charset="utf8");

问题解决了。没有报错了。

     总结:
     有时候出现错误还是要自己好好想想,这种编码错误问题,最好是确定所有地方编码都统一了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics