`
jy00509336
  • 浏览: 239382 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

PYTHON设置默认语言编码

阅读更多

原帖:http://www.cnblogs.com/jingleguo/archive/2008/06/02/1211820.html

当python中间处理非ASCII编码时,经常会出现如下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
0x??是超出128的数字,python在默认的情况下认为语言的编码是ascii编码,所以无法处理其他编码,需要设置python的默认编码为所需要的编码。
一个解决的方案是在代码中添加:

import sys

reload(sys)
sys.setdefaultencoding('gb2312')
另一个方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py
文件(sitecustomize.py is a special script; Python will try to import it on startup, so any code in it will be run automatically.),输入:
import sys
sys.setdefaultencoding('gb2312')
这样就能够自动的设置编码了。
ps:
1. utf8的编码是:utf-8

2. 测试已经成功的方法:
>>> import sys
>>> sys.getdefaultencoding()

分享到:
评论
10 楼 jy00509336 2010-01-21  
默认是什么的一般项目中总会出点问题,还是老老实实的设定好编码,不然移植到其他平台就不一定什么样子了。
9 楼 gmizr 2010-01-18  
chinalu 写道
jy00509336 写道

to gmizr:
“听说mac下默认是utf-8,其他环境是ascii”,记下了~3Q

我mac下试了一下,也是ascii


中午看了一下Unicode HOWTO,确实都是ASCII,包括mac

http://docs.python.org/howto/unicode.html 写道

Python’s default encoding is the ‘ascii’ encoding.

8 楼 alswl 2010-01-15  
tedeyang 写道
条件允许的情况下换用python3k也可以哦

3x默认就是utf-8么?
7 楼 chinalu 2010-01-13  
在开发环境下(eclipse+pydev)下是UTF-8,
这是为什么呢
6 楼 chinalu 2010-01-13  
jy00509336 写道

to gmizr:
“听说mac下默认是utf-8,其他环境是ascii”,记下了~3Q

我mac下试了一下,也是ascii
5 楼 tedeyang 2010-01-13  
条件允许的情况下换用python3k也可以哦
4 楼 jy00509336 2010-01-11  
ablmf 写道
为什么不用unicode?临时解决一下问题无所谓,不然还是用unicode吧!

这个文章是转载的~~没改原文章内容,将文章中的gb2312改成utf-8即可。
乌拉蕾 写道
直接在py文件第一行加入 # # -*- coding: utf-8 -*-  或者不是utf-8其他编码不行吗?

这个是文件的编码方式,就好比txt文件右下方显示的文件编码方式一样。

to gmizr:
“听说mac下默认是utf-8,其他环境是ascii”,记下了~3Q
3 楼 gmizr 2010-01-11  
乌拉蕾 写道
直接在py文件第一行加入
# # -*- coding: utf-8 -*-
  或者不是utf-8其他编码不行吗?

这种方式是声明源码文件采用utf-8编码,当你用不带encoding参数的decode,encode方法时,取得的默认编码和
# # -*- coding: utf-8 -*-
没有关系
2 楼 乌拉蕾 2010-01-10  
直接在py文件第一行加入 # # -*- coding: utf-8 -*-  或者不是utf-8其他编码不行吗?
1 楼 ablmf 2010-01-08  
为什么不用unicode?临时解决一下问题无所谓,不然还是用unicode吧!

相关推荐

    Python设置默认编码为utf8的方法

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

    python 设置文件编码格式的实现方法

    如果要在python2的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python2会默认使用ASCII编码。(python3已经没有这个问题了,python3默认的文件编码是UTF-8) 必须将编码注释放在第一行或者第二行,...

    python支持使用自定义编码的zipfile模块

    python默认的zipfile模块的文件列表只支持cp437和UTF8两种编码,而中文操作系统中zip常使用gbk来存储文件列表,这使得使用python解压zip会乱码,需要读取ZipInfo逐个解压文件并且重命名,并且乱码中可能会出现非法...

    Python编码规范.pdf

    在 Python 中,默认的缩进符号是四个空格,避免使用 Tab 键。 Tab 键还是空格 在 Python 中,Tab 键和空格都是可以使用的缩进符号,但是为了避免混乱,建议使用四个空格作为缩进符号。 行的最大长度 代码行的最大...

    google的python编码规范.pdf

    本文档提供了一个详细的 Python 编码规范,涵盖了 Python 语言规则、Python 风格规则、代码编写风格、注释、类、字符串、TODO 注释、导入格式、语句控制、命名等多个方面,对 Python 程序员非常有价值。

    Python获取系统默认字符编码的方法

    本文实例讲述了Python获取系统默认字符编码的方法。分享给大家供大家参考。具体分析如下: 在Python代码中,普通字符串的编码方式与程序源文件编码方式一致的,而很多IDE在默认情况下,将程序源文件按照系统默认字符...

    Python编码风格指南(中文版)

    1.1 Python 语言方面的准则 1.2 Python 编码风格方面的准则 2. Python 语言方面的准则 2.1 pychecker 2.2 导入模块和包 2.3 完整路径导入 2.4 异常处理 2.5 全局变量 2.6 内嵌/本地/内部类和函数 2.7 List ...

    02-1.4 初识Python程序与编码规范简介.pdf

    * 字符编码:Python 3.X版本中,默认的字符编码是UTF-8。 3. Python math模块 Python的math模块提供了多种数学函数,包括sin、cos、tan、ln、exp等。math模块可以帮助开发者快速实现数学运算。 4. Python帮助文档...

    Python入门基础教程全套.ppt下载

    Python2.x 到 Python3.x 的变化包括 print 函数的变化、默认编码的变化、除法运算符的变化、异常的变化、八进制字面量表示的变化等。 七、PyCharm 编写简单 Python 程序 使用 PyCharm 可以快速编写简单 Python ...

    python避免中文乱码的代码.docx

    这是因为Python默认使用的编码方式是ASCII码,而中文字符需要使用UTF-8等编码方式才能正确显示。为了避免中文乱码,我们需要在代码中进行一些设置。 1. 设置文件编码方式 在Python代码文件的开头,添加以下代码: ``...

    python考试题目.docx

    3. Python 3.x 完全支持中文字符,默认使用的编码格式是 `UTF-8`。 4. 错误的字典创建语句是 `dict3 = {[1,2,3]: “uestc”}`,因为列表不能作为字典的键。 5. 正确的 Python 语句是 `min = x if x ,这是 Python ...

    python-3.7.1rc2-amd64 安装包

    Python 3.7.1rc2 - 2018-10-13最新的python待发布版本,该版本为 Windows x86-64 executable installer 版本。 Python 3.7增添了众多新的类,...环境中默认使用UTF-8编码的UTF-8模式。 触发调试器的一个新的内置函数。

    python2.7的编码问题与解决方法

    默认的编码格式是ascii,我们可以直接修改为utf-8 import sys reload(sys) sys.setdefaultencoding('utf-8') 二、在输入输出的时候,修改编码格式 # 解码为GBK,再次编码为UTF-8 html_doc = unicode(html_doc,'GBK...

    再谈Python中的字符串与字符编码(推荐)

    本节内容: 1.前言 2.相关概念 ...Python2的 默认编码 是ASCII,不能识别中文字符,需要显式指定字符编码;Python3的 默认编码 为Unicode,可以识别中文字符。 相信大家在很多文章中都看到过类似上面这样

    Python基础知识总结.pdf

    Python 是一种高级的、解释性的编程语言,它提供了许多有用的功能和特性,本文将总结 Python 的基础知识点。 命令行模式和交互模式 Python 提供了两种模式:命令行模式和交互模式。命令行模式的提示符类似于 C:\>...

    Python+文本分析合集

    有一点必须仔细区分:Python 3中,所有字符串默认是UNICODE;但在Python 2中,str类限制为ASCII码,需要另外一个UNICODE类来专门处理UNICODE。 UNICODE仅仅是一种编码语言或处理文本的方式。例如,字母Z的UNICODE值...

    PEP8Python编码规范整理.pdf

    PEP 8 Python 编码规范整理 PEP 8 是 Python 官方编码规范,旨在统一 Python 代码风格和格式,提高代码的可读性和维护性。本文将详细介绍 PEP 8 的主要内容,包括缩进、代码组织、空格使用、注释、文档描述和命名...

    Google出品Python之编码规范

    Google的Python编码规范Python是Google公司主要使用的脚本语言。这本风格指南主要包含的是针对Python的编程规范。不以规矩不成方圆,规范自然是十分重要的,而在动态语言中,尤其重要(很多人拿Python写脚本,基本是...

    python接口测试课程

    它具有优雅、明确、简单的编码原则,优点是简单易学、开发效率高、语言级别高、可移植、可扩展、可嵌入。缺点是速度慢、代码不能加密、多线程不能充分利用多核CPU。 Python的应用领域非常广泛,包括自动化测试、...

    基于Python+HTML+MySQL的图书借阅管理系统.zip

    编程语言 服务器: Python 2.7 前端: HTML + JavaScript + CSS 5.2依赖库 服务器库:BaseHTTPServer 连接MySQL库:MySQLdb 控制台设置库:Sys URL解析库:Urllib 时间库:Time 时间库:Datetime ...

Global site tag (gtag.js) - Google Analytics