当前位置:首页 » 编程语言 » 设置utf编码python

设置utf编码python

发布时间: 2022-07-31 20:35:26

A. 如何设置python的编码格式为utf-8

重装了系统(ubuntu 14.04)原来正常可用的OpenERP项目在切换到开发者模式的时候报错:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
而在服务器上的项目正常可用,其原因是由于python的默认编码设置为ascii,可以用以下命令查看:
import sys
sys.getdefaultencoding()
解决方案有两种:
1. 在项目启动文件中添加设置字符为utf8:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
2. 在python的lib文件夹下的sitecustomize.py文件中添加代码:(我的文件位于/usr/lib/python2.7)
import sys
reload(sys)
sys.setdefaultencoding('utf8')
try:
import apport_python_hook
except ImportError:
pass
else:
apport_python_hook.install()
relaod(sys)一句是必须的

B. python3.3.1怎么设置默认编码为utf-8

有个比较稳妥的办法,读写文件的时候多加个参数,open('test.txt', 'r', encoding='utf-8')

C. sublime 怎么修改python 存储为utf-8

1. 汉化 sublime
[
搜索liblime汉化,下载解压得到default文件夹
将default文件夹放入 sublime/Data/Packages 中,汉化完成
]
2. 安装 Package Control 插件
[
方法1. 查看——显示控制台——粘贴代码(网上搜到代码)
方法2. sublime/Data/Packages文件夹中放入另一个文件夹(网络上可以搜索到文件夹)
]
3. 安装ConvertToUTF8,使得python代码中的中文能够正确显示
[
保证网络畅通
按下“ ctrl + shift + P ”(或者菜单栏:工具——命令面板)调出命令面板
命令面板中输入“install”,按下“Enter”
在新出现的窗口中输入ConvertToUTF8 ,按下“Enter”即可完成安装
]
4. 安装SublimeREPL
[
保证网络畅通
按下“ ctrl + shift + P ”(或者菜单栏:工具——命令面板)调出命令面板
命令面板中输入“install”,按下“Enter”
在新出现的窗口中输入SublimeREPL ,按下“Enter”即可完成安装
]
5. 配置SublimeREPL(这一步骤可省略,看文末介绍)
[

打开文件sublime/Data/packages/SublimeREPL/config/python/Main.sublime-menu文件
查找到
{"command": "repl_open",
"caption": "Python",
"id": "repl_python",
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-i", "-u"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
},
把它复制并列粘贴在原位置下面,稍稍修改刚刚粘贴的部分
{"command": "repl_open",
"caption": "Python",
"id": "repl_python",
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-i", "-u"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
},

{"command": "repl_open",
"caption": "Python - my", (我取名python-my,这里你自己取一个名字,显示在菜单栏中)
"id": "repl_myf5", (我取id为 repl_myf5, 你自己取一个独一无二的)
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-i", "-u","$file_basename"], (这里修改添加了一点字段)
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
},
保存,至此在菜单栏 工具——SublimeREPL——python中就出现了python-my选项
]
6. 添加源文档中的字段
[
打开一个python源文档,在文档头添加字段 # -*- coding: utf-8 -*- (没有这个字段编译会出错,python编码和sublime不同)
选择工具——SublimeREPL——python——python-my(我取的名字), 即可编译
]
7. 设置快捷键
[
用工具菜单调用编译太慢,可以设置快捷键
选择菜单preferences——键绑定-用户,在打开的文件中输入

[ { "keys": ["f5"], (f5是我设置的快捷键,可以改,当然还是推荐f5)
"caption": "SublimeREPL: Python",
"command": "run_existing_window_command","args":
{
"id": "repl_myf5", (repl_myf5是我取的id,你填入你的id)
"file":"config/python/Main.sublime-menu"
}
}
]

上面内容包括方括号,保存后,即可使用设定的快捷键
]
8. 要注意的是,调试程序,使用快捷键编译时候,首先 ctrl + s 保存当前文件,编译的才是最新修改的源文件
(要是谁会在快捷键里面添加 先保存 再编译 功能请告诉我一下,我不太会配置快捷键,thankyou,发送邮件[email protected]

建议 查看——布局——列2 ,2列布局看起来更方便,多编译几次右边会出现很多编译窗口,关闭编译窗口 使用ctrl + w 可以快速关闭
9
文末的话,后来发现,不改变SublimeREPL的配置文件,直接新建快捷方式id改成repl_python_run 即可

第一种方法使用起来和python默认IDLE一样,第二种方法像cmd窗口

D. python3.3中文乱码与默认编码格式设定。

python默认编码格式是utf-8。在python2.7中,可以通过sys.setdefaultencoding('gbk')设定默认编码格式,而在python3.3中sys.setdefaultencoding()这个函数已经没有了。在python3.3中该如何设置内置的默认编码格式啊!急求!!!
(类似于“#coding:gbk”这种就不必来说了。能让import sys print(sys.getdefaultencoding())输出“gbk“的大神请进!!!)

-----------------------------

python 3和2很大区别就是python本身改为默认用unicode编码。
字符串不再区分"abc"和u"abc", 字符串"abc"默认就是unicode,不再代表本地编码、
由于有这种内部编码,像c#和java类似,再没有必要在语言环境内做类似设置编码,比如“sys.setdefaultencoding”;
也因此也python 3的代码和包管理上打破了和2.x的兼容。2.x的扩展包要适应这种情况改写。

另一个问题是语言环境内只有unicode怎么输出gbk之类的本地编码。

答按惯例都在(序列化)输出时才转换成本地编码。
比如

file.write("GBK的中文".encode("GBK"))

python环境内字符串用str.encode("GBK")方法输出成字节串用于和其他环境交流。

E. 怎么在Python里使用UTF-8编码

行首定义

##-*-coding:utf-8-*-

F. python怎么设置utf8编码格式

python2.7里的话代码前加上coding:utf-8,中文前加上u

如:

#coding:utf-8

text=u'中文'
printtext
#这里的text就是utf-8编码

G. 如何设置python的编码格式为utf-8

python的编码格式?
#coding=utf-8
这是文档编码
import sys
sys.setdefaultencoding("utf-8")
这是设置默认编码方式为utf-8
xx.encode("utf-8")
这是字符串编码操作
import codecs
codecs.open(xx,'r','utf-8"),这是文件编码读取方式

H. python为什么需要reload后设置编码

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()

设置默认编码时使用:
sys.setdefaultencoding('utf8')

可能会报AttributeError: 'mole' object has no attribute 'setdefaultencoding'的错误,执行reload(sys),再执行以上命令就可以顺利通过。
此时再执行sys.getdefaultencoding()就会发现编码已经被设置为utf8的了,但是在解释器里修改的编码只能保证当次有效,在重启解释器后,会发现,编码又被重置为默认的ascii了,那么有没有办法一次性修改程序或系统的默认编码呢。
如果需要在运行时(就是整个解释器启动完之后)进行setdefaultencoding,就只能重新加载sys这个模块。
一个解决的方案在程序中加入以下代码:
import sys
reload(sys)
sys.setdefaultencoding('utf8')

I. python有哪几种编码方式

第一种:ASCII码。是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,它是现今最通用的单字节编码系统,并等同于国际标准IS/IEC
646。
由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机李,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母a的编码是97,后128个称为扩展ASCII码。
第二种:GBK和GB2312。能在计算机中显示中文字符是至关重要的,然而ASCII表里一个偏旁部首都没有,所以我们需要一个关于中文和数字对应的关系表,一个字节只能最多表示256个字符,用处理中文显然一个字节是不够的,所以我们需要采用两个字节来表示,所以中国制定了GB2312编码,用来将中文编写进去。
第三种:Unicode。因为各个国家都有一套自己的编码,所以无法避免冲突,因此Unicode诞生了。它可以把所有语言都统一到一套编码里,这样就不会存在乱码问题了,现代操作系统和大多数编程语言都直接支持Unicode。
第四种:UFT-8。基于节约的原则,出现了把Unicode编码转化为可变长编码的UTF-8编码。而UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成一个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节,如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。

热点内容
c语言相反数 发布:2025-01-23 22:28:55 浏览:187
压缩网课 发布:2025-01-23 22:13:19 浏览:597
网站收录源码 发布:2025-01-23 22:04:42 浏览:693
用c语言制作 发布:2025-01-23 21:49:09 浏览:951
怎么删除开机密码电脑 发布:2025-01-23 21:47:24 浏览:891
php配置伪静态 发布:2025-01-23 21:31:46 浏览:764
mud源码下载 发布:2025-01-23 21:19:46 浏览:137
反恐精英15游戏服务器ip 发布:2025-01-23 21:13:38 浏览:853
起床的战争玩什么服务器 发布:2025-01-23 21:03:06 浏览:145
企业级安卓手机防毒软件哪个好 发布:2025-01-23 20:59:28 浏览:243