关于编辑环境编码
首先要确保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()之后加一道工序,显示就正常了,如
下:
代码如下 | 复制代码 |
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 |
这样就解决了中文乱码的问题,大如果有更的办法也可以下面评论提交哦。