Python当前的默认编码设置setdefaultencoding
2007年08月07日 星期二 下午 09:25

在Python开发过程中,常常会遇到这样的问题,很让人头疼:
......
print s
......

Traceback (most recent call last):
   File "<stdin>", line 1, in ?
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)

究其原因,是想要在屏幕上输出的字符,不符合当前设定终端编码。在上面这个例子中,当前终端的编码设置为ascii,而欲输出的字符为utf-8编码,ascii的每个字符的十进制编码都在0-128以内,当然无法识别utf-8的编码。

要解决这个问题,首先修改终端的字符编码设置:
>>> import sys
>>> sys.getdefaultencoding()
'ascii'

可以看到,当前的默认编码是ascii,要修改这个设置,可以在Python安装目录下的Lib/site-packages目录中,新建一个sitecustomize.py文件(也可以建在其它地方,然后手工导入,建在这里,每次启动Python的时候设置将自动生效),内容如下:
import sys
sys.setdefaultencoding('utf-8') #set default encoding to utf-8

然后可以查看到改变已经生效
>>> import sys
>>> sys.getdefaultencoding()
'utf-8'

此时运行程序,如果仍然报告之前的错误,只需要显示地设定输出的编码
print s.encode('utf-8')
就可以看到正确显示。

python改变默认编码相关推荐

  1. python的默认编码

    python2中,默认使用的是ASCII编码.这个编码和开头的encoding不同之处在于,开头的encoding是对于文件内容的编码,默认编码是一些python方法中默认使用的编码.比如对str进行 ...

  2. MyEclipse一定要做的事-改变默认编码

    新装的myeclipse.编写程序时竟然没有提示 .这可不是很方便 .在网上找到一篇很不错的资料.收藏了.以后备用.. eclipse: window-preferences-General-Cont ...

  3. python设置默认utf8编码_Python设置默认编码为utf8的方法

    本文实例讲述了python设置默认编码为utf8的方法.分享给大家供大家参考,具体如下: 这是Python的编码问题,设置python的默认编码为utf8 python安装目录:/etc/python ...

  4. python为什么中文要encoding-python2.x 默认编码问题

    python2.x中处理中文,是一件头疼的事情.网上写这方面的文章,测次不齐,而且都会有点错误,所以在这里打算自己总结一篇文章. 我也会在以后学习中,不断的修改此篇博客. 这里假设读者已有与编码相关的 ...

  5. 【Python学习系列二】Python默认编码和Eclipse环境的冲突问题

    1.问题:在Eclipse+PyDev开发环境中写个 print 'Hello,python!'; 执行却提示: SyntaxError: Non-ASCII character '\xc4' 2.原 ...

  6. Python设置默认语言编码

    当python中间处理非ASCII编码时,经常会出现如下错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ...

  7. python为源文件指定系统默认_Python 设置系统默认编码

    python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't deco ...

  8. 用python查看和更改系统默认编码

    用python查看和更改系统默认编码 python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'asci ...

  9. python 之 字符编码 和 中文显示

    关于编码 (首先了解一下ascii.gb2312.gbk.utf-8.unicode的关系 http://www.cnblogs.com/skynet/archive/2011/05/03/20351 ...

  10. python的字符编码叙述_Python: 熟悉又陌生的字符编码

    字符编码是计算机编程中不可回避的问题,不管你用 Python2 还是 Python3,亦或是 C++, Java 等,我都觉得非常有必要厘清计算机中的字符编码概念.本文主要分以下几个部分介绍: 基本概 ...

最新文章

  1. 基础篇 第四节 项目进度计划编辑 之 任务关联性设定
  2. 8岁网红博主蝉联YouTube收入榜第一,今年赚了1.8亿
  3. AMD/NV大跌2周后仅两天收复失地 挖矿成背后推手
  4. Call to undefined function mysql_connect()
  5. 云南省初中计算机说课稿,云南省实验教材《信息技术》说课稿范文.docx
  6. C#连接各类数据库 [转]
  7. MyBatis使用resultMap自定义映射规则与关联映射
  8. xxl-job执行定时job原理
  9. ubuntu 中 ROS 一些报错的解决
  10. VS2015qt配置完成后添加菜单栏
  11. 用java输出语句_Java的常用输入输出语句
  12. mov和mp4格式哪个好_录音软件哪个好用?8款好用的录音软件
  13. 各省份的车牌简称 备案地区的简称
  14. 在html中生成动态表格数据,JavaScript实现网页动态生成表格
  15. span标签设置大小
  16. 笔记本电脑计算机里面怎么管理,笔记本电脑如何分区,详细教您笔记本电脑怎么分区...
  17. 通过字节码分析this关键字以及异常表的重要作用
  18. STM32F7 架构和资源分析
  19. Python暑期实践7.27
  20. pages改变文档背景和改变文字背景

热门文章

  1. ARMv8-A architecture overview
  2. Linux内核的netpoll框架与netconsole
  3. ffmpeg + rtp介绍
  4. python生成器的作用是什么_看完这篇,你就知道Python生成器是什么
  5. redis安装与指标监控
  6. 深度学习里的损失函数与交叉熵
  7. dotween曲线运动 unity_Unity3D DOTween动画插件详解
  8. oracle中包含用什么函数,oracle中包含用什么函数 oracle数据包含有什么函数?
  9. 计算机资源管理器课件,资源管理器ppt课件
  10. 天翼宽带怎么开虚拟服务器,天翼宽带怎么设置无线路由器?