您的位置:首页 > 编程语言 > Python开发

python eclipse 控制台乱码

2013-10-15 14:54 323 查看

乱码问题!Eclipse 的控制台console必须用GBK编码。【转载】

  
Eclipse 的控制台必须用GBK编码。所以条件1和条件4必须同时满足否则运行的还是乱码。才能保证不是乱码。

 

条件1,Window  | Preferences  | Workspace  |  Text fileencoding  | GBK编码。

这样定义的是整个工作区间的编码。

这样就把整个工作空间的编码格式定死了,但是如果某一个工程用的是不同的编码格式的话这样单独再解决。如下:

条件2,工程上右键  | Properties  | Resource  |  Text fileencoding  | UTF-8编码。或者适合的编码格式。这样定义的是整个工程的编码。

这样就把整个工程的编码格式定死了,但是如果某一个文件用的是不同的编码格式的话这样单独再解决。如下:

条件3,在某个文件上右键| Properties  | Resource  |  Text fileencoding  | UTF-8编码。或者适合的编码格式。这样定义的是单独某个文件的编码。

这里要说的是文件的实际编码格式优先用的是:第3个,其次再用2,最后先用1。有时候是123,必须满足条件。无论怎样这几种编码格式试一试就全知道了。

条件4,还有运行时编码设置如下:菜单:Run Configuration  | 右侧的选项卡Common 的 Console Encoding 选择GBK编码。这个是用来控制console控制台显示,必须是GBK,就不会乱码。尽管1,2,3条件都不是GBK,只要4是GBK。控制台就不会乱码。

这样保证了工作空间和工程代码编程方式和工程里的单独文件的编码格式的不冲突。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

关于编辑环境编码

首先要确保eclipse编辑器环境的编码为utf8,这个是大前提;其次如果py文件中含有中文字符的话,需要在py文件中对编码进行声明。

1. 修改eclipse编辑器编码

a) window->preferences->general->editors->text editors->spelling->encoding->UTF-8

b) window->preferences->workspace->text file encoding->UTF-8

c) 打开eclipse安装目录->eclipse.ini,末行加上”-Dfile.encoding=UTF-8”

2. 修改python文件编码声明

在py文件首行加上#coding=utf-8,一定要在首行才可以

关于网页字符编码

完成以上两点,对本地中文字符处理没有问题了。但是有时我们需要处理网页上的中文字符,比如读取网页、对网页内容进行抓取,那么仅仅做到上面两点是不够了。还需要用到decode和encode

decode与encode 是一对相反的方法。decode是解码,比如网页采用的是gb2312编码格式,那么通过read()方法读取页面内容之后,使用str.decode(‘gb2312′)就是将页面内容解码为unicode编码;encode正好相反,它是将unicode编码为指定的格式,如果之前已经通过decode解码为unicode,str.encode(‘utf8′)即将str编码为utf8格式。

所以自然我们就有了在eclipse中正确显示网页内容的方法。比如网页采用的gb2312编格式,eclipse环境已经调整为utf8编码,如果直接read()出来,在eclipse中显示的是乱码;如果在read()之后加一道工序,显示就正常了,如下:

1

html
=
f.read().decode('gb2312').encode('utf8')

Eclipse+pydev2.2+python2.7 的设置
 代码如下复制代码
window->preferences->general->editors->text editors->spelling->encoding->UTF-8

window->preferences->workspace->text file encoding->UTF-8
打开eclipse安装目录->eclipse.ini,末行加上”-Dfile.encoding=UTF-8”

文件编码

py文件记得保存成UTF-8,文件首行加上”#coding=utf-8”

run时设置
 代码如下复制代码
run-->run configurations->python run->Common-> Encoding ->UTF-8
这样就解决了中文乱码的问题

最详细解答:http://blog.csdn.net/samxx8/article/details/6286407
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: