python3 UnicodeEncodeError: 'gbk' codec can't encode character '\U0001f9e0' in position 230: illegal multibyte sequence

  最近在保存微博数据到(csv文件)时报错:

  UnicodeEncodeError: 'gbk' codec can't encode character '\U0001f9e0' in position 230: illegal multibyte sequence

  打印输出:print("\U0001f9e0")  结果是😒 ,数据中类似这样的特殊数据很多,导致无法保存。

  解决方法是:message = message.encode("gbk", "ignore").decode("gbk")

  这里通过encode()将Unicode编码转换成gbk编码,在转换的过程中通过“ignore”忽略掉gbk不能识别的字符(😒),然后再把gbk转换成Unicode编码。当然,这并不是一种完美的方式,毕竟牺牲部分字符串。

posted on 2018-07-23 15:26  shaomine  阅读(1581)  评论(0编辑  收藏  举报