有关编码问题,一直以来都是十分头疼的问题。代码中的字符编码其实还好,但是由于使用的window系统,会用Window的默认编码去解析文本。
今天用脚本在写文件的时候,就总是弹出UnicodeEncodeError: 'gbk' codec can't encode character '\ufffd'的编码问题。
python内部的编码是没问题的,问题就是系统编码GBK不识别\ufffd这个字符。
尝试去掉这个\ufffd符号花费了不少功夫。
最后采用的方案是,最后通过replace选项将危险字符转为了?。
str(tmp).encode('gbk', 'replace').decode('utf8')
可以将不识别的编码转变为?字符。