python2(中文编码问题):UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1

python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0x?? in position 1: ordinal not in range(128),python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。
  查询系统默认编码可以在解释器中输入以下命令:
python代码
  >>>sys.getdefaultencoding() 
  设置默认编码时使用:
python代码
  >>>sys.setdefaultencoding(‘utf8‘) 
  可能会报AttributeError: ‘module‘ object has no attribute ‘setdefaultencoding‘的错误。执行reload(sys),再执行以上命令就可以顺利通过。
此时再执行sys.getdefaultencoding()就会发现编码已经被设置为utf8的了,但是在解释器里修改的编码只能保证当次有效,在重启解释器后,会发现,编码又被重置为默认的ascii了。
  有2种方法设置python的默认编码:
  一个解决的方案在程序中加入以下代码:
  Python代码
  # encoding=utf8 
  import sys 
  reload(sys) 
  sys.setdefaultencoding(‘utf8‘) 
  另一个方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为:

cd /usr/lib64/python2.7/site-packages/

chmod 755 sitecustomize.py

  Python代码 
  # encoding=utf8 
  import sys
  reload(sys) 
  sys.setdefaultencoding(‘utf8‘) 
  此时重启python解释器,执行sys.getdefaultencoding(),发现编码已经被设置为utf8的了,多次重启之后,效果相同,这是因为系统在python启动的时候,自行调用该文件,设置系统的默认编码,而不需要每次都手动的加上解决代码,属于一劳永逸的解决方法。

python2(中文编码问题):UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1

原文地址:https://www.cnblogs.com/liqing1009/p/9093621.html

时间: 2024-10-29 04:36:54

python2(中文编码问题):UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1的相关文章

(转载)UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)解决方法

python 安装成功后,默认的编码是ascii码,当程序中出现非ascii编码时,通常就会报这样的错. 处理方法就是将python的默认编码改为uft-8 在python安装文件中的Lib\site-packages里新建一个文件sitecustomize.py,里面代码如下: #encoding=utf8import sys reload(sys)sys.setdefaultencoding('utf8') 然后重启python即可生效 (转载)UnicodeDecodeError: 'as

python2 UnicodeDecodeError: 'ascii' codec can't decode byte 0xce in position 7: ordinal not in range(128)

python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128),python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式. 查询系统默认编码可以在解释器中输入以下命令:python代码 >>>

python安装程序是报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(128)

python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128) 有2种方法设置python的默认编码: 方法一: 在程序中加入以下代码: import sys reload(sys) sys.setdefaultencoding('utf8') 方法二:

python2 当中 遇到 UnicodeDecodeError UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 37: ordinal not in range(128)

使用python2 总是遇到 UnicodeDecodeErrorUnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 37: ordinal not in range(128) 尝试 decode  encode 也没有用, 最后 在代码当中 引入模块部分 加入如下 几句,就解决了问题 1 # import sys 2 # reload(sys) 3 # sys.setdefaultencoding('utf-

python2 使用openpyxl 报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 20: ordinal not in range(128) 解决方法

# -*- coding: utf-8 -*- #! /usr/bin/env python # author: xiao~~ import openpyxl import sys reload(sys) sys.setdefaultencoding('utf-8') wb2=openpyxl.Workbook() wb2.save('test1.xlsx') print('新建成功') 附上剪短的代码 报错信息 Traceback (most recent call last): File "

Python2.7编码问题:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position...解决方法

解决方法: 在Python程序最前面加上以下语句: import sys reload(sys) sys.setdefaultencoding('utf-8') Python2.7编码问题:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position...解决方法 原文地址:https://www.cnblogs.com/sea-stream/p/10836056.html

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0

Windows 7/8/10机器上安装Python 2.7后,下载一些Package包进行setup时总是报错UnicodeDecodeError,如下: File "C:/Python27/lib/mimetypes.py", line 250, in enum_types ctype = ctype.encode(default_encoding) # omit in 3.x! UnicodeDecodeError: 'ascii' codec can't decode byte

[Python] 运行Flask, 报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 33: ordinal not in range(128)

运行时报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 33: ordinal not in range(128) Python2.7在Windows上一个bug!!! 解决方法: 参考官方patch: http://bugs.python.org/file19332/9291a.patch 如下代码:一,加入from itertools import count: 二,修改 def enum_type

解决UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 7: ordinal not in range(128)

在Windows下同时装了Python2和Python3,但是在使用命令给pip更新的时候,出现了以下错误: 解决办法:修改mimetypes.py文件,路径位于python的安装路径下的Lib\mimetypes.py文件.在import下添加如下几行,将编码设置为'gbk': 1 if sys.getdefaultencoding() != 'gbk': 2 reload(sys) 3 sys.setdefaultencoding('gbk') 成功解决,如图: 解决UnicodeDecod