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-GASpring 3.1.0-releaseHibernate 4.0.0-Final / Hibernate 3.6.9-Final (此处由于Hibernate 4 final 刚刚发布不久,所以对两个版本进行测试)2. 中文问题汇总(1)HTML中未指定文件编码问题描述:在HTML中未指定文件编码,在部分浏览器中将会出现中文乱码。
解决方案:在HTML的head标签中指定文档编码,代码如下(请根据DOCTYPE选择):// HTML 4.01 Transitional<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">// HTML 5<meta charset="UTF-8">(2)表单提交使用GET方法问题描述:在HTML form 中提交表单的时候使用method="get"导致中文乱码。
解决方案:form表单的method设置为post,代码如下:<form action="test" method="post"><input type="submit"/></form>(3)JSP文件中未指定文档编码类型问题描述:在JSP文件中未指定JSP文档编码,在浏览器中会出现中文乱码。
中文乱码问题

</javac>
<java classpathref="project.classpath" classname="com.mose.ParserEnglish" fork="true" failonerror="true">
对服务器响应进行重新编码,即jsp的输出流在浏览器中显示的编码,与<%@ page contentType="text/html;charset=UTF-8"%>一样
7.response.setHeader("Content-Type","text/html;charset=UTF-8"); -- 可用在servlet和jsp页面中
原因是
java 在运行时会调用系统的默认配置文件System.getProperties();
其中 有个file.encoding 的属性决定编码集,如果是英文版的操作系统则file.encoding=CP1253
所以ant 运行中文程序会乱码
如果不想修改系统默认字符集的话,可以再ant java target中加入下面语句
4. request.setCharacterEncoding() -- 可用在servlet和jsp页面中
乱码问题详解

1、最基本的乱码问题。
这个乱码问题是最简单的乱码问题。
一般新会出现。
就是页面编码不一致导致的乱码。
<%@ page language="java" pageEncoding="UTF-8"%><%@ page contentType="text/html;charset=iso8859-1"%><html><head><title>中文问题</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head></head><body>我是个好人</body></html>三个地方的编码。
第一个地方的编码格式为jsp文件的存储格式。
Ecljpse会根据这个编码格式保存文件。
并编译jsp文件,包括里面的汉字。
第二处编码为解码格式。
因为存为UTF-8的文件被解码为iso8859-1,这样如有中文肯定出乱码。
也就是必须一致。
而第二处所在的这一行,可以没有。
缺省也是使用iso8859-1的编码格式。
所以如果没有这一行的话,“我是个好人”也会出现乱码。
必须一致才可以。
第三处编码为控制浏览器的解码方式。
如果前面的解码都一致并且无误的话,这个编码格式没有关系。
有的网页出现乱码,就是因为浏览器不能确定使用哪种编码格式。
因为页面有时候会嵌入页面,导致浏览器混淆了编码格式。
出现了乱码。
2、表单使用Post方式提交后接收到的乱码问题这个问题也是一个常见的问题。
这个乱码也是tomcat的内部编码格式iso8859-1在捣乱,也就是说post提交时,如果没有设置提交的编码格式,则会以iso8859-1方式进行提交,接受的jsp却以utf-8的方式接受。
在eclipse中中文汉字乱码的解决方案

在eclipse中中⽂汉字乱码的解决⽅案
很多童鞋反应在吧项⽬导⼊到eclipse(myeclipse)时中⽂会有乱码,修改了编码格式后还是乱码,这⾥给⼤家介绍⼀下关于中⽂乱码时修改编码的注意事项:
1、当在eclipse中打开⼀个⽂件后发现有中⽂乱码后,千万不能修改这个⽂件内容,⼀旦改过这个⽂件的内容,那怎么修改编码也没⽤了,只能重新导⼊。
2、当打开⽂件发现乱码后第⼀步是关闭这个⽂件,然后在这个⽂件上右键,选择属性,然后选择编码,先选择utf8,然后确认保存后打开⽂件查看是否是乱码,如果还是乱码则继续关掉⽂件,右键选择属性,编码中选择gbk,确认保存后再打开⽂件。
3、基本上以上两种⽅法都能解决乱码,切记修改编码格式的时候⼀定要关闭⽂件,且不可修改过⽂件内容。
4、下⾯以我的⼀个项⽬为例,截图演⽰⼀下操作过程:
如下图所⽰,这个⽂件的中⽂有乱码:
第⼀步,先把打开的这个⽂件关闭,然后在这个⽂件上右键选择属性:
然后选择编码格式,如下图所⽰:
然后点击ok,再打开这个⽂件查看:
发现乱码已经消除了,有时候选择utf8后还是乱码,那么项⽬⽂件可能是gbk,按照上述⽅式操作,编码选择gbk即可,切记关闭⽂件和勿修改⽂件内容两点。
以上就是本次介绍的全部相关知识点,感谢⼤家的学习和对的⽀持。
java中文乱码常见解决方式

java中⽂乱码常见解决⽅式说明项⽬出现中⽂乱码现象、常见编码解决⽅法如下。
项⽬乱码项⽬⼯作空间在 Windows -> Prefenrences -> General -> Workspace 中进⾏设置在创建项⽬⼯作空间的时候、优先设置编码,在该⼯作空间下创建的项⽬默认遵循⼯作框架配置项⽬编码在 Project -> Resource中设置创建项⽬的时候、设置编码,则项⽬下⽂件都将会和项⽬统⼀页⾯⽂件编码⽂件右键 Properties -> Resource⽂件头编码⽂件头⼀般是HTML、JSP标签头部添加编码JSP:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>HTML:添加在<head>标签⾥⾯<meta http-equiv="Content-Type" content="text/html; charset=utf-8">编辑器编码设置NotePad++编辑器打开⼀个⽂件时候乱码在 菜单 -> 格式记事本存储时,保存为UTF-8格式服务器乱码SpringMVC在web.xml添加<filter><description>字符集过滤器</description><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><description>字符集编码</description><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>Tomcat编码Tomcat 的 conf/server.conf设置编码、设置为:<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"URIEncoding="UTF-8"redirectPort="8443" />添加:URIEncoding="UTF-8" 属性请求响应编码设置请求、响应编码//设置获取请求的编码request.setCharacterEncoding("utf-8")//设置服务器端的编码response.setCharacterEncoding("utf-8");//通知浏览器服务器发送的数据格式response.setContentType("text/html;charset=utf-8");字符串编码String oldStr = "编码设置";String newStr = new String(oldStr.getBytes(), "UTF-8");System.out.println("UTF-8编码:" + newStr);JDBC 连接指定编码url=jdbc:mysql://127.0.0.1/database?characterEncoding=UTF-8数据库设置编码编码可选:mysql> set character_set_client=utf8;mysql> set character_set_connection=utf8;mysql> set character_set_database=utf8;mysql> set character_set_results=utf8;mysql> set character_set_server=utf8;mysql> set character_set_system=utf8;mysql> set collation_connection=utf8;mysql> set collation_database=utf8;mysql> set collation_server=utf8;数据库表设置编码创建表的时候、指定编码:DEFAULT CHARSET=UTF8;CREATE TABLE `type` (`id` int(10) unsigned NOT NULL auto_increment,`type_name` varchar(50) character set utf8 NOT NULL default '', PRIMARY KEY (`id`)) DEFAULT CHARSET=UTF8;补充如果出现乱码现象、可对应⽂章修改。
JAVA中文字符乱码解决详解

JAVA中⽂字符乱码解决详解⾸先要了解JAVA处理字符的原理。
JAVA使⽤UNICODE来存储字符数据,处理字符时通常有三个步骤:– 按指定的字符编码形式,从源输⼊流中读取字符数据– 以UNICODE编码形式将字符数据存储在内存中– 按指定的字符编码形式,将字符数据编码并写⼊⽬的输出流中。
所以JAVA处理字符时总是经过了两次编码转换,⼀次是从指定编码转换为UNICODE编码,⼀次是从UNICODE编码转换为指定编码。
如果在读⼊时⽤错误的形式解码字符,则内存存储的是错误的UNICODE字符。
⽽从最初⽂件中读出的字符数据,到最终在屏幕终端显⽰这些字符,期间经过了应⽤程序的多次转换。
如果中间某次字符处理,⽤错误的编码⽅式解码了从输⼊流读取的字符数据,或⽤错误的编码⽅式将字符写⼊输出流,则下⼀个字符数据的接收者就会编解码出错,从⽽导致最终显⽰乱码。
这⼀点,是我们分析字符编码问题以及解决问题的指导思想。
好,现在我们开始⼀只只的解决这些乱码怪兽。
⼀、在JAVA⽂件中硬编码中⽂字符,在eclipse中运⾏,控制台输出了乱码。
例如,我们在JAVA⽂件中写⼊以下代码:String text = “⼤家好”;System.out.println(text);如果我们是在eclipse⾥编译运⾏,可能看到的结果是类似这样的乱码:。
那么,这是为什么呢?我们先来看看整个字符的转换过程。
1. 在eclipse窗⼝中输⼊中⽂字符,并保存成UTF-8的JAVA⽂件。
这⾥发⽣了多次字符编码转换。
不过因为我们相信eclipse的正确性,所以我们不⽤分析其中的过程,只需要相信保存下的JAVA⽂件确实是UTF-8格式。
2. 在eclipse中编译运⾏此JAVA⽂件。
这⾥有必要详细分析⼀下编译和运⾏时的字符编码转换。
– 编译:我们⽤javac编译JAVA⽂件时,javac不会智能到猜出你所要编译的⽂件是什么编码类型的,所以它需要指定读取⽂件所⽤的编码类型。
电脑上的网页显示乱码怎么办

电脑上的网页显示乱码怎么办现代社会中,电脑已经成为人们生活中不可或缺的一部分,而网络更是人们获取信息、交流的重要途径之一。
然而,有时我们在使用电脑上网时会遇到网页乱码的问题,这无疑影响了我们的浏览体验。
本文将从多个方面探讨电脑上网页乱码的原因以及解决方法,帮助读者解决这一问题。
一、乱码的原因1. 字符编码不匹配:网页编码与浏览器的默认编码不一致,导致字符无法正确识别。
2. 字体缺失或损坏:电脑没有所需的字体文件或字体文件被破坏,无法正确显示页面上的文字。
3. 网络环境问题:网络传输过程中发生错误或丢失部分数据,导致页面显示乱码。
4. 网页语言设置错误:浏览器的语言设置与网页的语言设置不匹配,导致页面无法正常显示。
二、解决方法1. 修改浏览器的字符编码:在浏览器菜单栏中找到“工具”或“选项”等相关选项,进入字符编码设置界面。
根据网页的实际编码,选择正确的字符编码方式,如UTF-8、GB2312等,以确保能正确显示网页内容。
2. 安装所需字体文件:如果网页上的文字显示为框框或乱码,可能是电脑上缺少该网页所需的字体文件。
可以通过互联网下载或从其他电脑复制所需字体文件到电脑中,然后安装字体文件即可。
3. 清理浏览器缓存:网页乱码问题可能是由于浏览器缓存中的临时文件损坏所致。
我们可以在浏览器设置中找到“清除缓存”或类似选项,选择清除历史记录、缓存等相关内容,然后重新刷新网页查看是否解决了乱码问题。
4. 检查网络连接:不稳定的网络连接可能导致网页数据传输不完整,进而引发乱码问题。
可以尝试重新连接网络,或者联系网络服务供应商确认网络连接是否正常。
5. 更新浏览器版本:有时网页乱码问题可能是由于浏览器版本过旧导致的,可以尝试更新浏览器版本,以获取更好的页面兼容性和显示效果。
6. 调整语言设置:在浏览器设置中找到“语言”或类似选项,选择与网页语言相匹配的语言设置,以确保能正确显示页面内容。
综上所述,当电脑上的网页显示乱码时,我们可以通过修改浏览器字符编码、安装所需字体文件、清理浏览器缓存、检查网络连接、更新浏览器版本以及调整语言设置等方法来解决问题。
中文乱码解决方案

中文乱码解决方案中文乱码问题是指在使用计算机软件或操作系统时,中文字符显示为乱码或其他非预期字符的情况。
中文乱码问题通常出现在以下几种情况下:1.编码不一致:中文乱码问题最常见的原因是编码不一致。
计算机中使用的编码方式有很多种,如UTF-8、GB2312、GBK等。
如果文件的编码方式与软件或操作系统的默认编码方式不一致,就会导致中文乱码。
解决该问题的方法是将文件的编码方式转换为与软件或操作系统一致的方式。
2.字体显示问题:中文乱码问题还可能与字体显示有关。
如果计算机中没有安装支持中文的字体,或字体文件损坏,就会导致中文字符显示为乱码或方框。
解决该问题的方法是通过安装正确的字体文件或修复字体文件来解决。
3.网页编码问题:在浏览网页时,如果网页的编码方式与浏览器的默认编码方式不一致,也会导致中文乱码。
解决该问题的方法是在浏览器中手动设置网页编码方式,或在网页头部指定正确的编码方式。
4.数据传输问题:中文乱码问题还可能与数据传输有关。
在进行数据传输时,如果数据的编码方式与传输协议或接收端的要求不一致,就会导致中文乱码。
解决该问题的方法是在数据传输的过程中进行编码转换,或在接收端进行适当的解码操作。
下面是一些常用的解决中文乱码问题的方法:3.设置浏览器编码方式:在浏览器的设置中,可以手动指定网页的编码方式。
可以尝试不同的编码方式,找到正确的方式显示中文字符。
4.检查数据传输设置:如果中文乱码问题是在数据传输过程中出现的,可以检查传输的设置是否一致。
比如,在进行数据库连接时,可以设置数据库的编码方式与应用程序的编码方式一致。
5.使用专业工具:如果以上方法无法解决中文乱码问题,可以考虑使用专业的中文乱码解决工具。
这些工具可以自动检测和修复中文乱码问题,提高处理效率。
总结起来,解决中文乱码问题需要确定问题的原因,然后采取相应的方法进行修复。
在处理中文乱码问题时,尽量使用标准的编码方式和字体文件,避免使用非标准或自定义的编码方式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、Eclipse采用aptana插件相关工程模板时出现中文显示乱码的问题
需求描述:
在eclipse+aptana插件环境下,完成采用gbk编码web页面开发。
问题一
在eclipse下通过aptana Web Project模板创建该工程,并把工程源文件import进来,如下
此时,打开index.html文件,发现中文显示乱码
这个问题较为简单,直接给出解决方法:
1、在eclipse配置,在windows->preference->general->workspace内把全局编码设置为gbk,如下:
2、检查project->properties->resource正确配置,如下:
此时,打开index.html,发现能正确显示。
问题二
问题描述:
在工程内新建一个cy5.html文件,如下:
对文件进行编辑保存后关闭,第二次打开发现刚刚还正常显示的中文全部显示乱码(但此时index.html文件显示仍然是正确的)。
通过浏览器检查,发现此时cy5.html编码实际采用的utf8格式。
问题分析和解决:
采用其他编辑器修改cy5.html文件编码格式为gbk后,中文显示正确了。
看来问题出在文件默认保存时,为什么eclipse已经设置成gbk编码了,但是实际保存时仍保存为utf8呢?在尝试更改了eclipse配置后,没有解决。
如果确实存在这样的问题,想必其他人也会遇到同样的问题,因此google一把,果然,有大侠给出了解决方案:/blog/716003
总结两点:
1、在windows->preference->general->content types内把相关后缀的文件编码设置为gbk,
如下点击更新保存。
(这个之前自己尝试过一把,发现仅配置不生效;后来才知道还差一步)
2、aptana3.0.x默认没有包含gbk的字符集,可以将\jre7\lib下的charsets.jar拷贝到eclipse\plugins\com.aptana.libraries目录下。
完成以上两步后,重新在meng工程内创建cy5.html文件,编辑保存关闭,重新打开后,中文能显示正确:
此时,检查cy5.html编码为gbk格式。
问题总结:
值得一提的是,如果用普通的eclipse工程模板创建工程,并不存在上述第二个问题。
尝试了一下,在普通eclipse创建的工程内:Utf8编码文件在设置gbk编码的环境中可以正常显示(还没搞明白什么原因…),但是反过来会出现乱码。
而在aptana工程模板创建的工程,需要严格保证环境设置和文件编码严格一致,否则肯定出现乱码。
2、网页上中文显示乱码的问题:
1、描述:
html文件内显式的指定了严格解析格式和文件编码格式(如下)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<meta content="text/html;" http-equiv="Content-type"> 但是此html文件实际编码格式却不是gbk,这时可能导致浏览器解析错误,显示乱码;
2、解决方案:
在html写作时建议采用如下两种方案:
1)让浏览器自己选择解析方式,如下写;这时即使文件内显式指定了文件编码格式,并且跟实际的文件编码格式不相符,浏览器仍能正常解析出中文字符。
<!DOCTYPE html>
2)如html文件需显式指定严格解析格式和文件编码格式,需要确保文件实际编码格式与之相符。