近期在使用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')
分享到:
相关推荐
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-1: ordinal not in range(128) —————————- 经过网上搜索出错原因得到结果: python中如果使用系统默认的open方法打开的文件...
UnicodeEncodeError: 'ascii' codec can't encode characters 这个错误是由于超链接中含有中文引起的,超链接默认是用ascii编码的,所以不能直接出现中文,若要出现中文, 解决方法如下: import urllib from ...
UnicodeEncodeError: ‘ascii' codec can't encode characters in position 24-25: ordinal not in range(128) 有趣的是,直接在 Python 环境下运行的时候,没有这样的错误。使用 uwsgi uwsgi.in
python 集成开发编码软件 1、先执行Python2.7.3.msi安装,安装...UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-2: ordinal not in range(128) Pysripter的解析器输出中文乱码解决方案:
python2.78 32位 pyscripter2.53 32位 附带Pyscripter报错的解决方法: 第一次打开就出错:UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-2
为什么会报错“UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题。 字符串在Python内部的表示是unicode编码,因此,在做...
UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-11: ordinal not in range(128) 解决如下: import urllib.parse reqStr = '你好' encodeStr = urllib.parse.quote(reqStr) print...
在描述中提到的错误信息 "UnicodeEncodeError: 'ascii' codec can't encode characters in position 69-78: ordinal not in range(128)" 就是典型的表现。 为了解决这个问题,我们需要对URL中的中文字符进行编码...
在使用PySpark处理包含中文字符的数据集时,调用`DataFrame.show()`方法可能会出现“UnicodeEncodeError: ‘ascii‘ codec can’t encode characters in position”这样的错误。 **解决方案**: 为了解决上述问题...