养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

UnicodeEncodeError: 'ascii' codec can't

时间:2024-09-27 08:19:22

小编今天在搬码时要用python将一段unicode序列转换成utf-8字符串,娴熟的写下xxx饱终柯肢.decode('utf-8'),居然报错了:UnicodeEncodeErr泠贾高框or:'ascii'codeccan'tencodecharacteru'\u5728'inposition1即使在文件头声明#encoding=utf8也是没用的,需要修改编码设置:sys.setdefaultencoding("utf8")。下面小编模拟一下这个修复过程。

UnicodeEncodeError: 'ascii' codec can't

工具/原料

python解释器

电脑

方法/步骤

1、进入python解析器,输入运行以下代码:s=u'\u5728's.decode('utf-8')

UnicodeEncodeError: 'ascii' codec can't

2、可以看到问题重现了。先来看看当前的编码,输入运行以下代码:importsyssys.getdefaultencoding()

UnicodeEncodeError: 'ascii' codec can't

3、可以看出当前编码是ascii。下面我们来尝试设置编码为utf-8,输入运行以下代码:sys.setdefaultencoding("utf8")

UnicodeEncodeError: 'ascii' codec can't

4、出错了,有木有?哈哈,衡痕贤伎sys模块要重新载入才行的哦!输入运行以下代码:reload(sys)sys.setdefaultencoding("utf8")

UnicodeEncodeError: 'ascii' codec can't

5、设置编码成功后重新执行以下代码:s.decode('utf-8')问题解决!

UnicodeEncodeError: 'ascii' codec can't

© 一点知识