`
jy00509336
  • 浏览: 242727 次
  • 性别: 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默认的源代码编码是ASCII,但可以通过一些方式设置默认编码为UTF-8,如修改`sitecustomize.py`文件或在代码中显式处理编码。同时,理解Python的编码处理机制和相关模块的使用,对于编写健壮的多语言...

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

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

    Python 查看文件的编码格式方法

    在处理包含非英文字符(如中文、日文等)的文件时,如果不了解文件的编码格式,直接使用默认编码进行读取可能会导致错误的结果。例如,如果一个文件使用的是`GB2312`编码,但你使用`UTF-8`编码去读取它,那么文件中...

    Python编码规范(Google)

    Python作为一种广泛使用的高级编程语言,其编码规范对于确保代码的可读性和一致性至关重要。Google作为业界领先的公司之一,发布了一份详细的Python编码规范指南,旨在帮助开发者编写高质量、易维护的Python代码。...

    python编码规范

    这是Python 3默认的字符串编码方式,能够支持多种语言和特殊字符,非常适合国际化项目。 #### 四、导入 合理组织和管理导入语句同样重要: - **按照标准库、第三方库、本地模块的顺序排列导入语句**。 - **避免...

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

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

    google的python编码规范.pdf

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

    Python编码规范.pdf

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

    Python 的中文编码格式及操作.docx

    在Python编程语言中,处理中文字符编码是一个重要的概念,特别是在涉及到多国语言或者非英文文本时。本篇文章将深入探讨Python中的中文编码格式及其操作,帮助开发者理解和解决相关的编码问题。 首先,我们要明白的...

    20180530_Python编码及中文乱码1

    解决办法是将Python的默认编码设置为UTF-8,例如: ```python import io import sys sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') ``` 四、文件与网络资源的编码处理 - 本地文件编码:在...

    Python开发编码规范

    Python作为一种广泛应用的编程语言,其编码规范对于维护代码的可读性和一致性至关重要。Python官方提供的编码规范不仅有助于开发者编写高质量的代码,还能确保整个社区遵循相同的准则,从而提高合作效率。 #### 二...

    python2.7编码1

    总的来说,Python 2.7中的编码问题是一个复杂但重要的主题,开发者需要理解字符串类型、字符编码、操作系统默认编码以及Python解释器的默认编码之间的关系,以避免出现乱码和解析错误。正确地处理编码和解码是编写可...

    python2 编码问题的测试代码

    1. **默认编码**: Python2默认使用ASCII编码,这是非常基础的编码系统,不支持中文字符。当你尝试处理包含中文字符的字符串时,可能会遇到乱码问题。 2. **字符串类型**: Python2中有两种字符串类型,`str`和`...

    Google Python Style Guide Python 编码规范中文版

    - 在Python 3.x中推荐使用UTF-8作为默认编码。字符串应该用单引号`' '`或双引号`" "`包围。在Python 2.x中,推荐使用Unicode字符串,可以通过在字符串前加上`u`前缀来实现。 #### TODO注释 - 使用TODO注释标记待办...

    python学习教程,如何解决Python中文编码乱码问….docx

    如果你使用的是如 PyCharm 这样的IDE(集成开发环境)或其他编辑器,还需要确保编辑器的文件编码设置与你的Python脚本一致。例如,在PyCharm中设置项目编码为UTF-8: - 打开 `File > Settings` (Windows/Linux) 或 ...

    Python_编码风格指南中译版

    ### Python编码风格指南详解 #### 一、Python语言方面的准则 **1.1 Python语言方面的准则** ##### 1.1.1 pychecker Pychecker是一个静态分析工具,用于检查Python代码中的潜在错误。它能够检测出如未定义的变量...

Global site tag (gtag.js) - Google Analytics