python 编码报错问题 'ascii' codec can't encode characters 解决方法

python在安装时,默认的编码是ascii,

当程序中出现非ascii编码时,python的处理常常会报这样的错 ‘ascii‘ codec can‘t encode characters

python没办法处理非ascii编码的,

此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。

查看python的默认编码

print  sys.getdefaultencoding()

解决方法一(已通过验证,顺带也解决了我之前字符前一直加u的问题)

在python安装目录下,进入\Python27\Lib\site-packages下

新建一个sitecustomize.py文件,设置python的默认编码为utf8

# encoding=utf8
import sys  

reload(sys)
sys.setdefaultencoding(‘utf8‘) 

解决方法二

在要运行的py文件里面加上

import sys  

reload(sys)
sys.setdefaultencoding(‘utf8‘)   

python 编码报错问题 'ascii' codec can't encode characters 解决方法

时间: 2024-12-09 08:38:36

python 编码报错问题 'ascii' codec can't encode characters 解决方法的相关文章

python报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 22-26: ordinal not in range(128)”问题解决

方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为: Python代码  : # encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8') 此时重启python解释器,执行sys.getdefaultencoding(),发现编码已经被设置为utf8的了,多次重启之后,效果相同,这是因为系统在python启动的时候,自行调用该文件,设置系统的默认编码,而不需

python报错 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)

报错:UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-3: ordinal not in range(128) 解决方法,在文件开头添加: import sys; reload(sys); sys.setdefaultencoding('utf8') 问题是在练习爬虫的时候,抓取api接口的json数据转换时出现的,后面参考python格式化输出文章做了一些排版处理,如下 python报错 Unico

Python编码问题:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(12

今天安装了PyScripter编辑器,刚要写代码,突然就出现异常: <span style="font-size:14px;color:#ff0000;">>>> Traceback (most recent call last): File "<string>", line 378, in findModuleOrPackage File "<string>", line 367, in f

关于Python脚本通过crontab调度的时候报错UnicodeEncodeError: ‘ascii’ codec can’t encode characters in positi的解决方案

昨天通过Python写了了一段脚本,然后通过crontab将脚本调起来执行,手动执行的时候没有问题的,但是通过crontab进行调度就执行报错. 报错的原因如下: Traceback (most recent call last): File "/opt/data-integration/workspace/rs_etl/pyscript/get_mobine_supplier.py", line 69, in <module> print("\u6570\u63

运行python代码报错UnicodeDecodeError: &#39;ascii&#39; codec can&#39;t decode byte 0xe7 in position 91: ordinal not in range(128)的解决办法

1.通过搜集网上的资料,自己多次尝试,问题算是解决了,在代码中加上如下几句即可: import sys reload(sys) sys.setdefaultencoding('utf-8') 2.原因就是Python的str默认是ascii编码,和unicode编码冲突,混淆了python2 里边的 str 和 unicode 数据类型. 3.python3 区分了 unicode str 和 byte arrary,并且默认编码不再是 ascii. 运行python代码报错UnicodeDec

pip安装requests报错unicodeEncodeError:&#39;ascii&#39; codec can\t encode charactesers in position 9-12:ordinal not in range(128)

前提 : 已经安装pip(pip的安装我参考的是本博客转载脚本之家的步骤,实验可以成功) 1. 在cmd输入命令转到pip安装目录: 2. 运行后出现错误 3. 步骤2中的错误应该和编码有关.搜索百度后,解决方法: 转自:joy32812 在你python的安装目录下的Lib目录,找到site.py,修改def setencoding()方法def setencoding(): ..... .... if 0: # Enable to support locale aware default s

Python idle运行代码出现&#39;ascii&#39; codec can&#39;t encode characters in position 0-2

编码问题,采用一种方法: Python代码 ,开头加: import sys reload(sys) sys.setdefaultencoding('utf8') 在idle中运行后没错误,但是不显示内容,但是在arcmap内置的Python里面可以显示结果,原因尚不知晓. https://blog.csdn.net/jueblog/article/details/51123411 Python idle运行代码出现'ascii' codec can't encode characters in

python输出字符串,UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode characters in position问题

http://blog.sina.com.cn/s/blog_64a3795a01018vyp.html 参考于这个博主,我自己做一个笔记. 把一个列表转换成字符串输出的时候出现了UnicodeEncodeError: 'ascii' codec can't encode characters in position 32-34: ordinal not in range(128)问题,使用的是ulipad编译器. 解决方法1: 在开头加上 import sys reload(sys) sys.

[已解决]报错:UnicodeEncodeError: &#39;latin-1&#39; codec can&#39;t encode characters in position 80-81

报错代码: city_form=self.payload+"&province="+str(pro) 报错内容: UnicodeEncodeError: 'latin-1' codec can't encode characters in position 80-81 解决方法: city_form=self.payload+"&province="+str(pro).encode("utf-8").decode("la