Python设置默认编码为utf8

对于python.x来说,安装时系统默认的编码方式为ascii。因此,若编码中出现非ascii编码(如汉字),运行时就会报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)。

此时就得注意了,一定是程序的某个部分编码出了问题,最大嫌疑就是汉字。此时不要慌,按我说的做 ^_^:

在你的模块中加入下面几行代码~~~

import sys

reload(sys)

sys.setdefaultencoding('utf8')

好了,问题解决!~

 

答疑时间:

一般的 sys.setdefaultencoding('utf8') 也就可以了,但你这么直接,系统可能不会接受你:AttributeError: 'module' object has no attribute 'setdefaultencoding'

所以,最好事先 reload(sys),重新加载一下这一模块,保证万无一失。

 

对于python3.x来说,官方已经将默认编码改为utf8,不再存在此类问题。

转载于:https://www.cnblogs.com/wangyueyouyi/p/9981323.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值