报错UnicodeEncodeError: ‘ascii’ codec can’t encode character ‘\u7b2c’ in position 64: ordinal not in range(128)
代码
写文件时,文件名为中文名。报错UnicodeEncodeError: 'ascii' codec can't encode character '\u7b2c' in position 64: ordinal not in range(128)
报错信息
Traceback (most recent call last):
File "/usr/local/lib64/python3.6/site-packages/tornado/web.py", line 1541, in _execute
result = method(*self.path_args, **self.path_kwargs)
File "", line 706, in post
filename4, file_obj4)
File "", line 283, in write_file4
with open(path_name2, 'wb') as fh:
UnicodeEncodeError: 'ascii' codec can't encode character '\u7b2c' in position 64: ordinal not in range(128)
解决方法
anaconda环境
cd /root/anaconda3/lib/python3.6/encodings/
mv ascii.py ascii.py.bak
cp utf_8.py ascii.py
无anaconda环境
cd /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/encodings
mv ascii.py ascii.py.bak
cp utf_8.py ascii.py
我用的macos,其他系统自己找对应的文件位置