2 smf0504 SMF0504 于 2017.09.07 22:37 提问

python3 报错UnicodeEncodeError

UnicodeEncodeError: 'utf-8' codec can't encode character '\udcd5' in position 42337: surrogates not allowed
在代码开头添加# coding:utf-8与不添加都报同样的错

2个回答

WLY19930402
WLY19930402   2017.09.08 09:36

你可以更改读取文件的方式:用 f = codecs.open (file, 'r', 'gbk', errors = 'ignore') 试一下,当然你得导入模块,使用
import codecs. 如果还不行的话,你可以再加个 try... except...语句:

try:
语句体
except UnicodeDecodeError:
pass

zylove2010
zylove2010   2017.09.12 17:33

1、字符已经是"utf-8"形式,只能进行decode操作
2、python3 的字符默认编码方式是“utf-8”,所以代码开头添加# coding:utf-8与不添加都会报同样的错。

Csdn user default icon
上传中...
上传图片
插入图片