python2.7开发Django1.8中遇到'ascii' codec can't decode byte 0xe8 in position 27: ordinal not in range(128
来源:互联网 发布:股市和楼市的关系 知乎 编辑:程序博客网 时间:2024/05/19 19:57
今天在用python2.7开发Django中遇到一个小问题:'ascii' codec can't decode byte 0xe8 in position 27: ordinal not in range(128)
问题本身大意为:ascii编码不能解码为 byte 0xe8.
原因是:python2.7中默认编码格式是:ASCII, 二ASCII编码只有128位,当python向外输出时,如果是纯英文字符则正常输出.如果是
中文字符,则会报如上错误.
解决方式:
方式一:对要输出的中文字符,如字符a:a.decode("utf-8")
方式二:将python默认编码设置为utf-8,兼容中文字符.设置如下:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
阅读全文