解决windows环境中python2.7'ascii' codec can't encode character

在python2.7下,将字符串写入到文件时会出现"UnicodeEncodeError: ‘ascii‘ codec can‘t encode character u‘\xa0‘ in position"的错误,原因是由于python基于ASCII处理字符的,当出现不属于ASCII的字符时,会出现错误信息。

原因是pip安装python包会加载我的用户目录,我的用户目录恰好是中文的,ascii不能编码。解决办法是: 
python目录 Python27\Lib\site-packages 建一个文件sitecustomize.py 
内容写:

指定文件字符集为utf-8

在文件头部加入以下代码:

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

python会自动运行这个文件。

解决windows环境中python2.7'ascii' codec can't encode character

时间: 2024-11-09 20:52:46

解决windows环境中python2.7'ascii' codec can't encode character的相关文章

Python3中出现UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)的解决方法

添加代码 import sys import codecs sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach()) Python3中出现UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)的解决方法 原文地址:https://www.cnblogs.com/liangxc/p/10228027.html

Python3中遇到UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)

在 linux服务器上运行代码报错: Python3中遇到UnicodeEncodeError: ‘ascii’ codec can’t encode characters in ordinal not in range(128) 但是在windows上面运行代码正常. 原因是因为:linux系统语言导致的. 查看了一下系统环境编码 >>> import sys>>> sys.stdout.encoding'US-ASCII' 而另一台能正常打印的机器是 en_US.U

UnicodeEncodeError: 'ascii' codec can't encode character...的解决方法

在python2.7下,因为想从数据库中读出来分类名进行写入到文件,提示 Traceback (most recent call last): File "test.py", line 28, in <module> fp.write("%d:%s\r\n"%(sClassid,sClassName)) UnicodeEncodeError: 'ascii' codec can't encode character u'\uff08' in positi

【转】Python3中遇到UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode characters in ordinal not in range(128)

[转]Python3中遇到UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128) 现象 打印任何一种包含有中文的对象,字典.列表.DataFrame.或字符串.比如: print('中文') 控制台报错: Traceback (most recent call last): File "printcn.py", line 1, in <module> pri

UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\u8888′ in position 0: ordinal not in range(168)

在将字符串写入文件时,执行f.write(str),后台总是报错:UnicodeEncodeError: 'ascii' codec can't encode character u'\u8888′ in position 0: ordinal not in range(168),即ascii码无法被转换成unicode码.在仔细推敲后发现,我所使用的python2.7,默认编码是ascii格式.可以使用如下语句查看Python默认编码格式: >>> import sys >>

python:&#39;ascii&#39; codec can&#39;t encode character

python默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错,python没办法处理非ascii编码的, 此时需要自己设置python的默认编码,一般设置为utf8的编码格式. cat myutf8.py #添加如下内容,设置编码为utf8# encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8') python:'ascii' codec can't encode chara

python报错问题解决:&#39;ascii&#39; codec can&#39;t encode character

python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错,python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式. 查阅网上,可以在程序中修改所有涉及到编码的地方,强制编码为utf8,即添加代码encode("utf8"),这种方法并不推荐使用,因为一旦少写一个地方,将会导致大量的错误报告. 解决方案: 在python的lib\site-packages文件夹下新建一个si

UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode character u&#39;\u5728&#39; in position 1

s = "图片picture"print chardet.detect(s) for c in s.decode('utf-8'): print c UnicodeEncodeError: 'ascii' codec can't encode character u'\u5728' in position 1 解决方案: reload(sys) sys.setdefaultencoding("utf8") UnicodeEncodeError: 'ascii' co

UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode character u&#39;\u5929&#39; in position 2: ordinal not in range(128)

UnicodeEncodeError: 'ascii' codec can't encode character u'\u5929' in position 2: ordinal not in range(128) UnicodeEncodeError: 'latin-1' codec can't encode character u'\u65e0' in position 599: ordinal not in range(256) UnicodeEncodeError: 'ascii' co