`

python 编码问题 UnicodeEncodeError: 'ascii' codec can't encode characters

 
阅读更多

近期在使用python是出现编码问题:“UnicodeEncodeError: 'ascii' codec can't encode characters ”

 

case:

     通过sqlalchemy连mysql做orm,连接数据没有问题charset=utf8,编码是utf-8的,在把数据库中的中文字读取到python对象中时报错“UnicodeEncodeError: 'ascii' codec can't encode characters ” 有点纠结,小问题总结一下。

 

处理方法一:

在我的应用启动文件startup.py 中加入如下代码

 

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

 

处理方法二:

1、由于Python在载入site模块时会删除setdefaultencoding()函数,故不能以在脚本开头调用此函数的方式指定默认编码;sitecustomize.py是一个python会自动导入的模块,故应当使用这个文件指定默认编码;

2、我这里需要使用utf-8作默认编码器,sitecustomize.py的内容如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
sys.setdefaultencoding('utf-8')
 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics