eclipse中文乱码解决方法

eclipse中文乱码解决方法
eclipse中文乱码解决方法

一、问题分析

eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的。一般默认都是UTF-8或者GBK,当从外部导入的一个工程时,如果该工程的编码方式与eclipse中设置的编码方式不同,就会产生中文的乱码问题,这其中还有几种情况。

1、如果导入的整个工程的编码方式与eclipse的编码方式有冲突,那么这个工程里所有的中文都是乱码。

2、如果所有工程的编码方式与eclipse工作空间的编码方式有冲突,那么所有的工程里的中文都有可能是乱码。

3、对于eclipse工作空间,eclipse会把你改的设置保存在工作空间的设置文件中,对于单个工程的编码方式进行修改,那么eclipse会把编码方式保存在该工程的.setting文件包里。

二、避免方法

要避免中文乱码问题有两个原则:

1、避免频繁更换工作空间,最好项目从一开始就在一个工作空间中进行,并且最好设置工作空间的编码方式为你平时最经常使用的或者是公司规定的项目编码方式,这样工程就会使用工作空间的编码方式,避免出现编码不一致的情形;

2、相同类型的文件尽量使用相同的编码方式,可以保证相同类型的文件都能使用一致的编码设置;

三、解决中文乱码方案:

(1)修改工作空间的编码方式:

Window->Preferences->General->Workspace->Text file Encoding

在Others里选择需要的编码方式,然后保存。

(2)修改单个工程的编码方式:

右击工程,在弹出的菜单中选择最后一项“Properties”。

在打开的新窗口左边的菜单树中选择Resource(即第一个),然后在右面找到Text file encoding ,选择“other”,在下拉框中选择需要的编码方式。

(3)修改一类文件的编码方式:

假设要将j s文件编码方式设为UTF-8,则应该Window->General->Content Types

在Content Types中选择JavaScript Source File,在File associations栏中选中*.js,然后在Default Encoding栏中输入UTF-8,单击Update,保存即可。

(4)修改单个文件的编码方式:右击要修改的文件,在弹出的菜单中选择最后一项“Properties”,在打开的新窗口左边的菜单树中选择Info(即第一个),然后在右面找到Text file encoding ,选择“other”,在下拉框中选择需要的编码方式。与修改工程编码方式的方法类似。

ps:在项目过程中遇到的另外一个乱码问题是因为操作系统的字体文件问题,在某些情况下,eclipse所使用的系统中文字体如果被破坏的话,也会导致中文无法显示的问题。所以,如果在上述设置都无法解决问题的时候,应该要考虑一下系统字体文件的问题。

中文乱码解决大全

SSH开发过程中的中文问题汇总 作者:Rainisic来源:博客园发布时间:2012-01-11 14:26 阅读:50 次原文链接[收藏] 在使用SSH开发的过程中,我们经常会因为各种各样的中文乱码问题而苦恼。之前开发的过程中遇到过一些,但是都没有记录下来,这次,我就遇到的中文问题进行一个汇总,希望能够对大家有所帮助。 1. 平台环境参数 操作系统:Windows 7 旗舰版64位 JDK版本:JDK 1.6 / JDK 1.7 (此处由于JDK 7 发布不久,所以对两个版本进行测试) 开发环境:Eclipse Java EE Indigo 网站容器:Tomcat 7.0 开发框架: Struts 2.3.1.1-GA Spring 3.1.0-release Hibernate 4.0.0-Final / Hibernate 3.6.9-Final (此处由于Hibernate 4 final 刚刚发布不久,所以对两个版本进行测试) 2. 中文问题汇总 (1)HTML中未指定文件编码 问题描述:在HTML中未指定文件编码,在部分浏览器中将会出现中文乱码。 解决方案:在HTML的head标签中指定文档编码,代码如下(请根据DOCTYPE选择): // HTML 4.01 Transitional

// HTML 5 (2)表单提交使用GET方法 问题描述:在HTML form 中提交表单的时候使用method="get"导致中文乱码。 解决方案:form表单的method设置为post,代码如下:

(3)JSP文件中未指定文档编码类型 问题描述:在JSP文件中未指定JSP文档编码,在浏览器中会出现中文乱码。 解决方案:在JSP文件首部增加指定文档编码的代码,代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> (4)文件编码不正确 问题描述:由于Java文件、JSP文件等文件编码不正确,导致中文乱码。 解决方案:设置文件的默认编码为UTF-8(如果需要使用其他编码,请确保上述两个编码格式与文件编码相同) 设置方法: 当前文件编码修改:该文件右键→Properties→Resource,右侧Text file encoding→Other →UTF-8 默认文件编码修改: 0. Windows→Preferences 打开Eclipse配置选项窗口。 1. General→Content Type,右侧Text 下面所需要的文件类型Default encoding设置为UTF-8

乱码形成原因及消除方法大全 八

乱码形成原因及消除方法大全八 乱码形成原因及消除方法大全.txt生活,是用来经营的,而不是用来计较的。感情,是用来维系的,而不是用来考验的。爱人,是用来疼爱的,而不是用来伤害的。金钱,是用来享受的,而不是用来衡量的。谎言,是用来击破的,而不是用来装饰的。信任,是用来沉淀的,而不是用来挑战的。乱码形成原因及消除方法大全 2008-01-18 14:08乱码形成原因及消除方法大全当我们浏览网页、打开文档或邮件,运行软件时,经常会看到乱码,通常是由于源文件编码,Windows 不 能正确识别造成的的,也可能是其他原因。乱码给我们带来了太多的烦恼,为了帮助大家彻底摆脱乱码 ,下面我们就来探讨一下乱码的形成原因及其消除方法。 一、乱码有五种类型 常见的乱码,一般可以分成五种类型:第一类是文本/文档文件乱码,这一般是由于源文件编码,与

Windows使用的编码不通用造成的;第二类是网页乱码,形成原因与第一类乱码类似;第三类是Windows 系统界面乱码,即中文Windows的菜单、桌面、提示框等显示乱码,主要是Windows注册表中有关字体的 部分设置不当引起的;第四类是应用程序的界面乱码,即各种应用程序(包括游戏)本来显示中文的地 方出现乱码,形成原因比较复杂,有第二类的乱码原因,也可能是软件用到的中文链接库,被英文链接 库覆盖造成的;第五类是邮件乱码,形成原因也极其复杂。 二、如何消除应用程序的界面乱码? 目前有些软件发行了Unicode版本,这是一种通用的字符编码标准,涵盖了全球多种语言及古文和专 业符号,这种版本的软件运行在任何系统和语言上都不会乱码,如果是非Unicode编码的程序,就会有乱

关于Linux下中文乱码的完整解决方案

关于Linux下中文显示为乱码的完整解决方案Linux,作为一款免费的操作系统,相对于高额费用的Windows系列操作系统,有着更强的优势,所以,许多人也都开始学习Linux操作系统的知识。但是,由于Windows 系列操作系统还是当今社会的主流,所以,人们少不了在Windows和Linux系统之间进行文件的传输。 但是一个新问题出现了,那就是中文乱码问题,这个问题困扰着无数的Linux用户,尤其是Linux的初学者,对于这个问题相当的头疼。 主要问题如下: 1、ssh中,中文显示为乱码:在Wind ows 系统下,用ssh远程连接Linux系统,对于在Linux下显示正常的中文,在ssh中却显示为完全无法识别的乱码字符。 2、中文传输乱码:把Wind ows中的中文文件传输到Linux操作系统中,原本在Wind ows下显示正常的文件,到了Linux系统下,成了无法识别的乱码。 分析其原因,是因为Linux和Wind ows系统下,所用户的字符集不同,Linux系统使用的是Unicod e字符集,而Wind ows使用的是GB字符集。所以,在网上出现了两种解决方案: 方法一:使用Putty代替secure shell client(ssh):在Putty终端设置中,修改wind ow-〉Translation中的Received data assumed to be in which character set值为Linux 中的字符集UTF-8,再连接Linux,

发现这时,Linux中的中文可以正常显示了。 但是一个新问题出现了,把Wind ows中的文件上传了Linux 中,原本在Wind ows下显示正常的中文文件,现在却成了乱码。 所以,这个方法无法彻底解决乱码问题。 方法二:修改Linux默认字符集,把Linux的默认字符集修改为和Wind ows中的字符集一致的GB18030或GB2312,重启Linux系统后,再用ssh终端连接,这时,修改字符集后的中文文件都已经能正常显示,而且,从Wind ows中新上传的中文文件也能正常显示了。这个方法不错。 但是,Linux系统在安装时,产生的中文字符(中文文件夹名、中文文件名、中文文件)在新的字符集下,却又全都显示成了乱码。 有什么方法可以彻底解决乱码问题,使在Linux系统下,所有的中文字符都可以正常显示呢? 本人综合了网上的各种解决方案,经过多次实验,终于找到了一个比较完整的解决方案,步骤如下: 第一步:用英文安装Linux系统:在安装Linux系统时,采用默认的英文安装,而不要使用中文。 第二步:修改字符集:在Linux系统安装成功以后,修改系统的默认字符集,操作如下: 在Fedora Linux系统中,编辑/etc/sysconfig/i18n文件,修改LANG 值为zh_CN.GB2312或zh_CN.GB18030,保存退出。 在OpenSuSE Linux系统中,编辑/etc/sysconfig/language文件,

网页中文乱码完美解决方案

网页中文乱码 既然后面charset设置为gb2312,那么你打开这个网页,然后另存,保存的时候记得把编码改成gb2312,不然的话charset就会误导浏览器,这样就会乱码了。 2.php编网页出现乱码,我把编码改成utf-8 前台显示正常了,但是有东西输入到数据库再提取出来还是不正常 3.apache+php+mysql 为何会出现乱码 我们在做PHP项目的时候,经常会遇到中文乱码的问题,有时候编码问题还导致MYSQL的报错。中文乱码总共有三个原因 1:APACHE服务器设置导致乱码 2:PHP,或者HTML页面编码导致中文乱码 3:MYSQL数据库的表以及字段编码导致中文乱码 我们分别从这三个部分来探究PHP程序设计中的编码问题 在这之前我们要了解一些基本理论: 1、文件编码 每个文件在保存的时候都可以选择以什么编码保存,例如用WINDOWS的记事本创建一个文件可以选择ANSI 以及UTF8等等编码。我们选择了什么编码该文件就以这种编码方式保存在硬盘上。读取该文件数据的时候也会指定一种编码来打开,如果指定的编码与文件保存的时候的编码不一样的话就会出现乱码 2、HTML的编码 在网页头部一般有这样一个 区域 这个的意思是让客户端知道,接下来输出的是html代码(text/html),并且以下输出的内容都将是utf-8编码的。如果我们用记事本创建一个HTML文件该文件包含 但是在保存的时候却以ANSI编码格式保存,那么我们用浏览器打开这个文件时,浏览器看见META 行的UTF8编码设置后就将文件以UTF8格式输出,而文件本来是ANSI编码,这样便出现了中文乱码。 一:APACHE服务器编码 在APACHE配置文件中有一行是编码的设置默认的是AddDefaultCharset ISO-8859-1,大部分人认为应该将这句改为AddDefaultCharset UTF-8 。而蜗牛认为这是误人子弟。这项配置是告诉APACHE服务器选用什么样的编码来输出WEB页面(这样做会忽略,HTML页面中的页面编码的设置EG:),如果我们建立一个GB2312的页面就会出现中文乱码。所以最好的方法是将AddDefaultCharset ISO-8859-1这一项注释掉#AddDefaultCharset 二:PHP编码问题 php最终生成的是文本文件,而他要从数据库中取出文本数据,还要把文本数据写到数据库中。由于MYSQL并不知道PHP发送给他的是什么编码的数据,所以需要客户端PHP告诉他存取的是什么编码的数据。然后MYSQL会自动将PHP传送来的数据转换成目标编码格式的

url中文乱码解决大全

使用tomcat 时,相信大家都回遇到中文乱码的问题,具体表现为通过表单取得的中文数据为乱码。 一、初级解决方法 通过一番检索后,许多人采用了如下办法,首先对取得字符串按照 iso8859-1 进行解码转换,然后再按照gb2312 进行编码,最后得到正确的内容。示例代码如下: http://xxx.do?ptname='我是中国人' String strPtname = request.getParameter("ptname"); strPtname = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8"); String para = new String( request.getParameter("para").getBytes("iso8859-1"), "gb2312"); 具体的原因是因为美国人在写tomcat 时默认使用iso8859-1 进行编码造成的。 然而,在我们的servlet 和jsp 页面中有大量的参数需要进行传递,这样转换的话会带来大量的转换代码,非常不便。 二、入门级解决方法 后来,大家开始写一个过滤器,在取得客户端传过来的参数之前,通过过滤器首先将取得的参数编码设定为gb2312 ,然后就可以直接使用getParameter 取得正确的参数了。这个过滤器在tomcat 的示例代码 jsp-examples 中有详细的使用示例, 其中过滤器在web.xml 中的设定如下,示例中使用的是日文的编码,我们只要修改为gb2312 即可 1.Set Character Encoding 2.filters.SetCharacterEncodingFilter 3. 4.encoding 5.EUC_JP 6. 7.

Flash中出现中文乱码的解决办法

Flash中出现中文乱码的解决办法 在编辑flash文件中加载了非Unicode 编码的外部txt文本文件时,有些中文就不能正常显示。 解决办法: 用鼠标右键单击舞台上的元件,从弹出的快捷菜单中选择“动作”选项,打开动作脚本编辑面板,键入下面脚本https://www.360docs.net/doc/8212258293.html,eCodepage = true;脚本解释:显示中文字符的语句,使外部文本文件中的中文字符能正常显示。否则只能显示英文字符,中文字符为乱码。例子:on (release) {loadVariablesNum("chem.txt", 0);https://www.360docs.net/doc/8212258293.html,eCodepage = true;} 说明: 对于作为外部文件包含或加载的文本(使用#include 命令,loadVariables() 或getURL 动作,或LoadVars 或XML 对象),保存这些文本文件时必须使用Unicode 对其进行编码,这样Flash Player 才能将其识别为Unicode。若要使用Unicode 对外部文件进行编码,请在支持Unicode 的应用程序(例如,Windows 2000 上的“记事本”)中保存这些文件。 如果包含或加载了非Unicode 编码的外部文本文件,则应将https://www.360docs.net/doc/8212258293.html,eCodepage 设置为true。在加载数据的SWF 文件的第一帧中,在最前面添加以下代码(第一行代码): https://www.360docs.net/doc/8212258293.html,eCodepage = true; 如果有这一行代码,Flash Player 将使用运行Flash Player 的操作系统

的传统代码页来解释外部文本。对于英文Windows 操作系统,该代码页通常为CP1252;对于日文操作系统,该代码页通常为Shift-JIS。如果将https://www.360docs.net/doc/8212258293.html,eCodepage 设置为true,Flash Player 6 和更高版本处理文本的方式与Flash Player 5 相同。(Flash Player 5 在处理文本时,将所有文本都视为按运行播放器的操作系统的传统代码页编码的文本。) 如果将https://www.360docs.net/doc/8212258293.html,eCodepage 设置为true,应注意您的外部文本文件中使用的字符必须包含在运行播放器的操作系统的传统代码页中,这样才能显示该文本。例如,如果您加载了一个包含中文字符的外部文本文件,这些字符在使用CP1252 代码页的系统上将无法显示,因为该代码页不包含中文字符。 若要确保所有平台上的用户都能查看您的SWF 文件中使用的外部文本文件,应使用Unicode 对所有外部文本文件进行编码,并将https://www.360docs.net/doc/8212258293.html,eCodepage 设置保留为其默认设置false。这样,Flash Player 6 和更高版本将按Unicode 解释文本。

mysql中文乱码解决

转载:Mysql中文乱码的解决方法 第一种方法,很精辟的总结: 经常更换虚拟主机,而各个服务商的MYSQL版本不同,当导入数据后,总会出现乱码等无法正常显示的问题,查了好多资料,总结出自己的一点技巧: WINDOWS 下导入应该这样 使用MYSQL的命令 在DOS 命令下进入mysql的bin目录下,输入mysql -uroot -p密码数据库名称<要恢复的数据库, 例如我们要把D盘的一个名称为test.sql的数据库恢复到本地的test2这个数据库,那么就这样: mysql -uroot -p密码test2以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题。 只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下: $mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass); mysql_query("SET NAMES 'GBK'"); 数据库字符集为utf-8 连接语句用这个 mysql_query("SET NAMES 'UTF8'"); mysql_query("SET CHARACTER SET UTF8"); mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");

免费 java中文乱码字符集解决大全

java中文解决大全 Abstract:本文深入分析了Java程序设计中Java编译器对java源文件和JVM对class类文件的编码/解码过程,通过此过程的解析透视出了Java编程中中文问题产生的根本原因,最后给出了建议的最优化的解决Java中文问题的方法。 1.中文问题的来源 计算机最初的操作系统支持的编码是单字节的字符编码,于是,在计算机中一切处理程序最初都是以单字节编码的英文为准进行处理。随着计算机的发展,为了适应世界其它民族的语言(当然包括我们的汉字),人们提出了UNICODE编码,它采用双字节编码,兼容英文字符和其它民族的双字节字符编码,所以,目前,大多数国际性的软件内部均采用UNICODE编码,在软件运行时,它获得本地支持系统(多数时间是操作系统)默认支持的编码格式,然后再将软件内部的UNICODE转化为本地系统默认支持的格式显示出来。Java的JDK和JVM即是如此,我这里说的JDK是指国际版的JDK,我们大多数程序员使用的是国际化的JDK版本,以下所有的JDK均指国际化的JDK版本。我们的汉字是双字节编码语言,为了能让计算机处理中文,我们自己制定的gb2312、GBK、GBK2K等标准以适应计算机处理的需求。所以,大部分的操作系统为了适应我们处理中文的需求,均定制有中文操作系统,它们采用的是GBK,GB2312编码格式以正确显示我们的汉字。如:中文Win2K默认采用的是GBK编码显示,在中文WIN2k中保存文件时默认采用的保存文件的编码格式也是GBK的,即,所有在中文WIN2K中保存的文件它的内部编码默认均采用GBK编码,注意:GBK是在GB2312基础上扩充来的。 由于Java语言内部采用UNICODE编码,所以在JAVA程序运行时,就存在着一个从UNICODE编码和对应的操作系统及浏览器支持的编码格式转换输入、输出的问题,这个转换过程有着一系列的步骤,如果其中任何一步出错,则显示出来的汉字就会出是乱码,这就是我们常见的JAVA中文问题。 同时,Java是一个跨平台的编程语言,也即我们编写的程序不仅能在中文windows上运行,也能在中文Linux等系统上运行,同时也要求能在英文等系统上运行(我们经常看到有人把在中文win2k上编写的JAVA程序,移植到英文Linux上运行)。这种移植操作也会带来中文问题。 还有,有人使用英文的操作系统和英文的IE等浏览器,来运行带中文字符的程序和浏览中文网页,它们本身就不支持中文,也会带来中文问题。 几乎所有的浏览器默认在传递参数时都是以UTF-8编码格式来传递,而不是按中文编码传递,所以,传递中文参数时也会有问题,从而带来乱码现象。

中文乱码解决方案

IE6的“以UTF-8发送URL”选项设置对请求页面字符编码有影响吗?关键字: 字符编码 最近又碰到了中文乱码问题,这里我没有把数据库牵扯进来,先说下我的环境,servlet容器使用Tomcat6.0,浏览器FireFox3.0、IE6,涉及字符编码设置的地方我的思路就是编码的地方都统一使用UTF-8,具体配置如下: 1.所有页面的charset设置为UTF-8。 2.Tomcat的URIEncoding默认是ISO-8859-1,而我设置为UTF-8,主要是想解决中文命名的文件以及请求以get方式提交有可能出现的乱码问题。 3.添加过滤器,调用request.setCharacterEncoding("utf-8")方法将request 的字符集设定为utf-8,解决请求以post方式提交的乱码问题。 其实这样的设置貌似是不会再出现乱码问题了,不过,问题依旧来了,如果 我在浏览器的地址栏中输入中文参数提交,返回的页面却出现了乱码。真搞不明白到底是哪里出了问题!说起来对中文乱码的问题一直是一支半解,出现乱码了,网上搜罗了一大堆资料,按照网上的配置,问题到是解决了,不过原理却搞的很模糊,一个请求发送到服务器,服务器业务逻辑处理后返回一个页面,这中间涉及的字符集转换,编码,解码过程一概不清楚。这次,折腾了半天,总算是更进一步了解了字符编码问题,这里做个总结。 先看我的总结,有不对的地方欢迎批评。 首先我们看下,一个请求响应的流程 浏览器 IE/FireFox -------->Servlet容器----------------->显示页面 编码使用容器的URIEncoding转码解码 我把用户发送请求方式不同引起的中文问题划分了四种类型: 1、表单的get提交 2、表单的post提交 3、页面链接传递中文参数 4、地址栏中参数直接输入中文提交

中文乱码解决汇总

中文乱码问题汇总 (1) HTML中未指定文件编码 问题描述:在HTML中未指定文件编码,在部分浏览器中将会出现中文乱码。 解决方案:在HTML的head标签中指定文档编码,代码如下(请根据DOCTYPE选择): // HTML 4.01 Transitional// HTML 5 (2)表单提交使用GET方法 问题描述:在HTML form 中提交表单的时候使用method="get"导致中文乱码。 解决方案:form表单的method设置为post,代码如下:

......
(3) JSP文件中未指定文档编码类型 问题描述:在JSP文件中未指定JSP文档编码,在浏览器中会出现中文乱码。 解决方案:在JSP文件首部增加指定文档编码的代码,代码如下: <%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> (4)文件编码不正确 问题描述:由于Java文件、JSP文件等文件编码不正确,导致中文乱码。 解决方案:设置文件的默认编码为UTF-8(如果需要使用其他编码,请确保上述两个编码格式与文件编码相同) 设置方法: 当前文件编码修改:该文件右键→Properties→Resource,右侧 Text file encoding→Other→UTF-8 默认文件编码修改: 0. Windows→Preferences 打开Eclipse配置选项窗口。 1. General→Content Type,右侧 Text 下面所需要的文件类型Default encoding设置为UTF-8 2. General→Workspace,右侧 Text file encoding 选择UTF-8 3. Web→JSP Files,右侧Encoding选择UTF-8(显示的是ISO 10646/Unicode(UTF-8)) Hint: 可以利用Eclipse配置选项窗口左上处的搜索功能,输入“Encoding”即可找到全部。 (5) Struts2 默认编码错误 问题描述:Struts 2 默认编码为UTF-8,如使用GBK等其他编码则会出现中文乱码。 解决方案:struts.xml 中设置默认Struts 2 编码,代码如下: (6) Request、Response编码错误 问题描述:由于Response、Request的属性characterEncoding设置错误,导致中文乱码。 解决方案:添加Filter,用于给Request、Response转码,一定要配置在Struts 2的Filter之后!代码如下: /* * 用于转码的Filter类。 */ public class EncodingFilter implements Filter { @Override public void destroy() { ...... } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); chain.doFilter(request, response); } @Override public void init(FilterConfig arg0) throws ServletException { ...... } } EncodingFilter com.mb.filter.EncodingFilter EncodingFilter /* (7)实现ServletResponseAware并使用PrintWriter的 Bug暂时不确定是Bug,一会我会去看Struts 2源代码以确定是否是Bug,如果是Bug有可能会在将来版本修复。 问题描述:通过实现ServletResponseAware接口而得到的response没有更改characterEncoding,而导致PrintWriter编码错误。这样出现的乱码问题,乱码的内容是静态HTML的中文中,而不是在后台数据和前台Struts便签显示的内容。(之所以说是Bug,是因为同样实现ServletRequestAware接口,获得的request 确是更改过文字编码的。) 解决方案:实现ServletResponseAware时手动修改Response的characterEncoding,代码如下: @Overridepublic void setServletResponse(HttpServletResponse response) { // Change the response encoding. response.setCharacterEncoding("UTF-8"); this.response = response; try { this.out = response.getWriter(); } catch (IOException e) { } }

PHP中文乱码解决总结

关于PHP和MySQL出现乱码的解决办法 最近几天一直在做贴吧的小项目,跟着十八老师的视频学着,中间也遇到不少问题,我查了不少资料最后都一一解决了。下面详细分类说明各种乱码的处理方法。 简单地讲乱码的产生和各个环节里面设置的编码类型不匹配有关,这里的乱码主要都是指的中文显示的乱码。(下面没有特指都是说中文显示乱码)。我先根据发生乱码的位置来划分。如果是需要快速查找解决方法的可以直接根据错误位置来查阅本文(根据编号快速查找)。1.网页显示中文乱码。2.PHPmyadmin中显示乱码。3.控制台显示中文乱码。 如果是想详细了解各种情况的童鞋可以耐心阅读本文。 1.第一种在一般网页页面上显示中文出现乱码。 这个主要要改一下页面显示编码设置,如果是PHP文件,则在其中加上一句:header("Content-Type: text/html; charset=utf-8"); 并且要注意保存PHP文件的时候选择编码为utf8.如图所示 在你需要显示的PHP后缀的页面中加上就可以,当然一般来说如果是比较多页面都要设置,一个个去添加很麻烦,就在初始化文件里面最后添加就可以加载到所有需要的文件了。 如果是静态页面(求别喷,很可能有静态页面的说),在页面标签之间加上一句:。改完后页面的显示中文就能正常。 Utf8编码格式和gbk格式都是目前中文网站显示所用的编码,所以将charset改为utf即可。 2.第二种在MySQL图形化界面中文数据的显示。 在如PHPmyadmin里面也有可能出现中文乱码。 前面也说了要把PHP文件编码保存为utf8,所以相对应的MySQL的相关字符集的设置也要改成utf8; 这里有几种方式可以供选择。 第一种治标不治本。在需要进行数据库操作的PHP文件里,加上下面几句: mysql_query('set character_set_client = utf8');//设置client的字符集为utf8 mysql_query('set character_set_connection = GBK');//s设置连接字符集为gbk mysql_query('set character_set_results = utf8');//设置最后结果的字符集为utf8 当然作为程序员来说,如果一个添加留言的页面需要录入中文,一个修改留言的页面也需要

中文乱码解决大全

JSP中文乱码问题综述 2010-08-10 14:25:31 一、Java中文问题的由来 Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题。 首先Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保存方式是基于字节流的,如果Java和JSP编译成class文件过程中,使用的编码方式与源文件的编码不一致,就会出现乱码。基于这种乱码,建议在Java文件中尽量不要写中文(注释部分不参与编译,写中文没关系),如果必须写的话,尽量手动带参数-ecoding GBK或-ecoding gb2312编译;对于JSP,在文件头加上<%@ page contentType=text/html;charset=GBK%>或<%@ page contentType=text/html;charset=gb2312%>基本上就能解决这类乱码问题。 二、常见的解决方式 1,最基本的乱码问题。 这个乱码问题是最简单的乱码问题。一般新会出现。就是页面编码不一致导致的乱码。 <%@ page language=java pageEncoding=UTF-8%> <%@ page contentType=text/html;charset=iso8859-1%> 中文问题 我是个好人 三个地方的编码。 第一个地方的编码格式为jsp文件的存储格式。Ecljpse会根据这个编码格式保存文件。并编译jsp文件,包括里面的汉字。 第二处编码为解码格式。因为存为UTF-8的文件被解码为iso8859-1,这样如有中文肯定出乱码。也就是必须一致。而第二处所在的这一行,可以没有。缺省也是使用iso8859-1的编码格式。所以如果没有这一行的话,“我是个好人”也会出现乱码。必须一致才可以。 第三处编码为控制浏览器的解码方式。如果前面的解码都一致并且无误的话,这个编码格式没有关系。有的网页出现乱码,就是因为浏览器不能确定使用哪种编码格式。因为页面有时候会嵌入页面,导致浏览器混淆了编码格式。出现了乱码。 2,表单使用Post方式提交后接收到的乱码问题 这个问题也是一个常见的问题。这个乱码也是tomcat的内部编码格式iso8859-1在捣乱,也就是说post 提交时,如果没有设置提交的编码格式,则会以iso8859-1方式进行提交,接受的jsp却以utf-8的方式接受。导致乱码。既然这样的原因,下面有几种解决方式,并比较。 A,接受参数时进行编码转换 String str = new String(request.getParameter(something).getBytes(ISO-8859-1),utf-8) ;这样

中文乱码问题

一、中文乱码问题及其解决方法 中文乱码原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题。首先Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保存方式是基于字节流的,如果Java 和JSP编译成class文件过程中,使用的编码方式与源文件的编码不一致,就会出现乱码。基于这种乱码,建议在Java文件中尽量不要写中文(注释部分不参与编译,写中文没关系),如果必须写的话,尽量手动带参数-ecoding GBK或-ecoding gb2312或-ecoding UTF-8编译;对于JSP,在文件头加上<%@ page contentType="text/html;charset=GBK"%>或 <%@ page contentType="text/html;charset=gb2312"%>基本上就能解决这类乱码问题。 1.解决HTML页面中的中文问题: 为了使HTML页面很好地支持中文,就必须在每个HTML页面的头部增加如下代码: 。。。。。。 。。。。。。 2、解决JSP页面中的中文问题 为了使JSP页面很好地支持中文,就必须在每个JSP页面的头部增加如下代码:<%@ page contentType="text/html;charset=gb2312" language="java"%> 3.解决Servlet响应结果的中文问题 为了使Servlet页面很好地支持中文,就必须在每个Servlet页面的头部增加如下代码: response.setCharacterEncoding("gb2312");

Sybase_中文乱码解决办法

Sybase 中文乱码解决办法 解决Sybase中文问题 (https://www.360docs.net/doc/8212258293.html,/kingspider/) (https://www.360docs.net/doc/8212258293.html,/u/1163490885) 1. JDBC连接串要有字符集设置 修改proxool.xml这个文件 jdbc:sybase:Tds:192.168.3.11:5000/dbserver?charset=cp936 然后在sybase设备中创建数据库dbserver 2. 服务器配置成cp936 (1) 使用isql查看当前已经安装的字符集 isql -Usa -Plongtop >use master >go >select id,name from syscharsets >go id name --- ---------------- 0 ascii_8 1 iso_1 2 cp850 20 defaultml 21 thaidict 22 iso14651 24 utf8bin 25 binary 39 altnoacc 45 altdict 46 altnocsp 47 scandict 48 scannocp 50 bin_iso_1 50 bin_cp850 51 dict 52 nocase 53 nocasep 54 noaccent 55 espdict 56 espnocs 57 espnoac 59 rusnocs

64 cyrnocs 65 elldict 69 hundict 70 hunnoac 71 hunnocs 73 turknoac 74 turknocs 129 cp932bin 130 dynix 137 gb2312bn 140 cyrdict 155 turdict 161 euckscbn 163 gbpinyin 165 rusdict 179 sjisbin 192 eucjisbn 194 big5bin (41 rows affected) 从列表中看出没有安装cp936字符集 (2) 查看当前使用的缺省字符集 >sp_configure "default char" >go Parameter Name Default Memory Used Config Value Run Value Unit Type ------------------------------ ----------- ----------- ------------ ----------- -------------------- ---------- default character set id 2 0 2 2 id static 缺省字符集的id是2,查看上面的列表,可以得知是cp850 (3) 因为上面的列表中没有安装cp936,所以就安装cp936字符集 进入目录C:\sybase\charsets\cp936 运行命令 charset–SDELL binary.srt cp936 运行完成后,系统就安装了cp936字符集 charset -Usa -Psybase -SMYSUSE9 binary.srt cp936 (4) 验证是否确实安装了cp936字符集 isql -Usa -Plongtop >use master >go >select id,name from syscharsets

中文乱码问题解决方法

在Jsp文件问题时,中文乱码现象经常遇到,现将处理方法总结一下,供大家参考: (在各种编码方案中,UTF-8、GBK、GB2312都是支持中文显示的。只是GBK比GB2312支持跟多的字符) 一、JSP页面显示乱码 二、URL传递参数中文乱码 三、表单提交中文时出现乱码 四、数据库连接 一、JSP页面显示乱码 Jsp文件页面显示乱码,这种情况比较好处理,在页面的Page指令加上如下一项就OK了: <%@ page contentType="text/html; charset=gb2312"%> 注:如果是HTML页面显示乱码,则加上: 二、URL传递参数中文乱码 当我们把一段中文字符作为参数传递个另一页面时,也会出现乱码情况, 解决方法一如下: 在参数传递时对参数编码,比如 RearshRes.jsp?keywords=" + https://www.360docs.net/doc/8212258293.html,.URLEncoder.encode(keywords) 然后在接收参数页面使用如下语句接收 keywords=new String(request.getParameter("keywords").getBytes("ISO-8859-1"),"UTF-8") ; 解决方法二: 修改tomcat的server.xml文件中URIEncoding。

中文乱码问题解决

在网上搜了很多资料都没有搞定,一般都有以下几种说法: 方法1:在后台中先获得字符串的iso-8859-1编码形式数组,再使用此数组实例一个UTF-8编码形式String类型字符串. 页面提交的url为: leavesp?work=部门主管审批 后台处理: String inStr=request.getParameter("work "); String outStr = new String(inStr.getBytes("iso-8859-1"),"UTF-8"); 方法2:在页面传递过来时先通过JavaScript将URL编码,再到后台进行解码: 页面部分: 后台部分:(解码) String inStr= request.getParameter("work "); String outStr=https://www.360docs.net/doc/8212258293.html,.URLDecoder.decode(inStr); 尝试过两种方法后好像都不行,在后台获取到的字符还是会乱码.试完之后真想哭.*o* 使用第一种方法后发现: 在请求(request)中获得的字符串是这样的: 2????÷1üéó?ú 使用new String(inStr.getBytes("iso-8859-1"),"UTF-8");处理后字符成了: ??????????

解决JSP中文乱码问题

解决JSP中文乱码问题 大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着大家,现把JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考。首先了解一下Java中文问题的由来: Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题。首先Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保存方式是基于字节流的,如果Java和JSP 编译成class文件过程中,使用的编码方式与源文件的编码不一致,就会出现乱码。基于这种乱码,建议在Java文件中尽量不要写中文(注释部分不参与编译,写中文没关系),如果必须写的话,尽量手动带参数-ecoding GBK或-ecoding gb2312或-ecoding UTF-8编译;对于JSP,在文件头加上<%@ page contentType="text/html;charset=GBK"%>或<%@ page contentType="text/html;charset=gb2312"%>基本上就能解决这类乱码问题。下面是一些常见中文乱码问题的解决方法(下面例子中ecoding采用的是gb2312,也可设为ecoding GBK或ecoding UTF-8): 一、JSP页面乱码 这种乱码问题比较简单,一般是页面编码不一致导致的乱码,一般新手容易出现这样的问题,具体分以下两种情况: ?未指定使用字符集编码 下面的显示页面(display.jsp)就出现乱码: JSP的中文处理 <%out.print("JSP的中文处理");%>

相关文档
最新文档