python在eclipse下中文乱码问题解决办法

关于编辑环境编码

首先要确保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

这样就解决了中文乱码的问题,大如果有更的办法也可以下面评论提交哦。

时间: 2024-12-02 19:18:13

python在eclipse下中文乱码问题解决办法的相关文章

Java在mac下中文乱码问题解决办法

java和javac在简体中文的Mac OSX的终端(Terminal.app)环境下,默认是以GBK编码的中文输出各种诸如语法错误,数组访问越界之类的信息. 但是,Mac的终端的默认编码是UTF-8,所以javac和java在未配置的情况下会输出乱码. 解决方法有3个: 1)指定输出的编码为UTF-8 javac -J-Dfile.encoding=UTF-8 2)输出英文 export LC_ALL=en 3)通过iconv转码 javac something|iconv -f GBK -t

smarty截取中文乱码问题解决办法

smarty截取中文乱码问题解决办法 本文章提供了三款smarty截取中文乱码问题解决办法,关于乱码主要是在中文汉字中的处理了,我们利用了uft-8,gb2312等字符内码机制来截取字符串. */ function smarty_modifier_utruncate($string, $length = 80, $etc = '...',                                     $break_words = false, $middle = false)   { 

Docker容器 日志中文乱码问题解决办法_docker

Docker容器 日志中文乱码问题解决办法 1. 找到dockerfile文件, 如 /use/local/src/Docker/Dockerfile 2. 编辑Dockerfile 添加 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 3. 生成新的镜像文件 docker build -t centos7 . 4. 使用docker images查看新生成的镜像 5. 使用新的镜像启动容器 docker run

常见php与mysql中文乱码问题解决办法_Mysql

乱码问题1:用PHPmyAdmin操作MySQL数据库汉字显示正常,但用PHP网页显示MySQL数据时所有汉字都变成了?号. 症状:用PHPmyAdmin输入汉字正常,但当PHP网页显示MySQL数据时汉字就变成了?号,并且有多少个汉字就有多少个?号. 原因:没有在PHP网页中用代码告诉MySQL该以什么字符集输出汉字. 解决方法: 1.网页文件head设置编码<meta http-equiv="Content-Type" content="text/html; cha

php写入mysql中文乱码问题解决办法

php中关于mysql的操作非常简单,然而最近在做一个小工具的时候发现php写入mysql的数据库中出现了中文字符的乱码,这个乱码的问题纠结了我好久,明明英文字符写入正常,但是中文就是乱码! 一开始我感觉是我建立mysql数据库的时候没有设置UTF-8字符集,然而后来我发现即使我设置了这个字符集还是不能解决问题,写入mysql的字符串照样乱码. 解决这个问题其实很简单. 1.在建表的时候设置编码类型为gb2312_chinese_ci. 2.在PHP页面的数据库连接语句加一行mysql_quer

Perl向MySQL插入中文乱码问题解决办法

当使用DBI向MySQL插入中文时,数据库中中文会显示乱码(即使表的编码为utf8),需要在插入语句前读取语句前添加编码设置 先说MySQL的字符集问题.Windows下可通过修改my.ini内的 # CLIENT SECTION [mysql] default-character-set=utf8 # SERVER SECTION [mysqld] default-character-set=utf8 这 两个字段来更改数据库的默认字符集.第一个是客户端默认的字符集,第二个是服务器端默认的字符

js中ajax 传递中文乱码问题解决办法

解决的办法是使用js的encodeURI函数,对传递的参数进行编码.  代码如下 复制代码 var keywords=encodeURI(document.getElementById("suggestfilm").value); 例  代码如下 复制代码 <script type="text/javascript">         //var data=<%=data %>     jQuery(document).ready(funct

PHP URL传递中文乱码问题解决办法

在使用 ?id="中文" 传递中文参数时,出现了乱码,这是经过了二次转码后的结果,其中,在 php 中,url 中是不可以直接传输中文的,对于这点,一直心存不满,没办法呀,谁让咱没一套解决方案呢,不知道别的语言是不是也出现这样的问题. 对于网上所说的在首页添加 header("content-type:text/html;charset=utf-8″); 这样的代码,以及把数据库页面等等设置成 utf8 的解决方案根本无效,始终传递过来的中文是乱码. 尽管所有 04ie.co

jsp get Url请求方式中文乱码问题解决办法

jsp中post方式请求一般不会乱码,如果乱码加上这句: 解决办法一    代码如下 复制代码 request.setCharacterEncoding("utf-8"); 而get方式请求,若url含非西欧编码必然会乱码,处理方式:  代码如下 复制代码 request.setCharacterEncoding("utf-8"); //将请求参数使用ISO-8859-1分解成字节数组,再将字节数组解码成字符串  代码如下 复制代码 String name = ne