来自 http://ligure.iteye.com/blog/

中文乱码:在以后学习过程中全部采用UTF-8
1、文件的乱码

1.1、项目文本文件默认编码:

       【右击项目】->【Properties】->【Resource】->【Text file encoding】    

1.2、 JSP 文件编码:由于 JSP 要翻译为 Servlet

1.2.1、JSP文件编码:

     【右击文件】->【Properties】->【Resource】->【Text file encoding】

1.2.2、JSP翻译为Servlet时的编码:

   <%@ page language="java" pageEncoding="utf-8"%>

中文乱码:在以后学习过程中全部采用UTF-8

2、浏览器和服务器间传输数据的乱码

2.1、 浏览器端 编码,一般由服务器端告诉浏览器如何解码数据:

2.1.1、Servlet

          response.setContentType("text/html; charset=UTF-8");

        或者  response.setCharacterEncoding(“UTF-8”);

   2.1.2、JSP

         <%@ page language="java" contentType="text/html; charset=utf-8" %>

   2.1.3、通用

         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

注:浏览器编码可以由我们手工修改,但最后不要这样,一般让浏览器自动选择即可。

中文乱码:在以后学习过程中全部采用UTF-8

2、浏览器和服务器间传输数据的乱码

2.2、 服务器端 编码,将客户端传过来的数据进行解码:

      浏览器默认使用ISO-8859-1进行编码数据,然后将数据传输到服务器,因此我们默认只需要将浏览器发送过来的数据转换为我们需要的编码即可。

2.2.1、最简单方式:

  1. String username = request.getParameter(“username”);  
  2. username = new String(username.getBytes("ISO-8859-1“), "UTF-8");  

2.2.2、比较好的解决方案

      // 必须 在获取参数之前,调用如下方法先解码

       request.setCharacterEncoding(“UTF-8”);

      String username = request.getParameter(“username”);

2.4、比较通用方案:在一个Filter中更改所有请求的编码方式:

   
1、在src中添加filter来设置编码格式是中文,filter类可以在tomcat的包里面:apache-tomcat-6.0.16.zip\apache-tomcat-6.0.16\webapps\examples\WEB-INF\classes\filters下面,SetCharacterEncodingFilter.java文件

     2 、在 web.xml 中配置 filter ,具体配置如下页:

  1. <filter>  
  2.         <filter-name>Set Character Encoding</filter-name>  
  3.         <filter-class>filters.SetCharacterEncodingFilter</filter-class>  
  4.         <init-param><param-name>encoding</param-name>  
  5.         <param-value>utf-8</param-value></init-param>  
  6. </filter>  
  7. <filter-mapping>  
  8.         <filter-name>Set Character Encoding</filter-name>  
  9.         <url-pattern>/*</url-pattern>  
  10. </filter-mapping>  

2.5、 GET提交方式中文乱码解决

通过修改request.setCharacterEncoding(“UTF-8”);只能解决POST提交方式的请求编码,对GET无效。

     1 、最简单解决方案: 该解决方案不再需要任何额外配置(如filter)

           TOMCAT默认ISO-8859-1 因此可以设置默认编码为UTF-8解决,在conf\server.xml文件中设置如下

           

  1. <Connector port="8080" protocol="HTTP/1.1"  
  2.                                connectionTimeout="20000"  
  3.                                redirectPort="8443" URIEncoding=”UTF-8”/>  

     2 、在 tomcat4 之后,可以通过如下配置来解决中文乱码,但必须配置 filter

         在conf\server.xml文件中设置如下

                  

  1. <Connector port="8080" protocol="HTTP/1.1"  
  2.                                        connectionTimeout="20000"  
  3.                                        redirectPort="8443" useBodyEncodingForURI=“true”  />  

         然后request.setCharacterEncoding(“UTF-8”)也可解决GET乱码

Java WEB 乱码解决大全的更多相关文章

  1. Java Web乱码原因与解决

    Java Web乱码原因与解决 一.了解编码常识: 1.ASCII 码 众所周知,这是最简单的编码.它总共可以表示128个字符,0~31是控制字符如换行.回车.删 除等,32~126是打印字符,可以通 ...

  2. Java Web中解决乱码的方式

    Java Web中解决乱码的方式 方式一:添加编码过滤器 package com.itmacy.dev.filter; import javax.servlet.*; import javax.ser ...

  3. java中文乱码解决之道(九)-----总结

    乱码,我们前台展示的杀手,可能有些朋友和我的经历一样:遇到乱码先按照自己的经验来解决,如果没有解决就google,运气好一搜就可以解决,运气不好可能够你折腾一番了.LZ之所以写这个系列博客就是因为遇到 ...

  4. java中文乱码解决之道(二)-----字符编码详解:基础知识 + ASCII + GB**

    在上篇博文(java中文乱码解决之道(一)-----认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述字符集.字符编码等基础知识和ASCII.GB的详情. 一.基 ...

  5. java中文乱码解决之道(七)-----JSP页面编码过程

    我们知道JSP页面是需要转换为servlet的,在转换过程中肯定是要进行编码的.在JSP转换为servlet过程中下面一段代码起到至关重要的作用. <%@ page language=" ...

  6. java中文乱码解决之道(二)—–字符编码详解:基础知识 + ASCII + GB**

    原文出处:http://cmsblogs.com/?p=1412 在上篇博文(java中文乱码解决之道(一)—–认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述 ...

  7. java中文乱码解决之道(七)—–JSP页面编码过程

    我们知道JSP页面是需要转换为servlet的,在转换过程中肯定是要进行编码的.在JSP转换为servlet过程中下面一段代码起到至关重要的作用. <%@ page language=" ...

  8. java 项目乱码解决(web.xml全局配置编码格式)

    <!-- 乱码解决 --> <filter> <filter-name>encodingFilter</filter-name> //过滤器名称 < ...

  9. java中文乱码解决之道(一)-----认识字符集

    沉寂了许久(大概有三个多月了吧),LZ"按捺不住"开始写博了! java编码中的中文问题是一个老生常谈的问题了,每次遇到中文乱码LZ要么是按照以前的经验修改,要么则是baidu.c ...

随机推荐

  1. MiniProfiler安装使用心得

    MiniProfiler简介: MVC MiniProfiler是Stack Overflow团队设计的一款对ASP.NET MVC的性能分析的小程序.可以对一个页面本身,及该页面通过直接引用.Aja ...

  2. JMX,Jstatd做好JVM应用上线的最后一层保障

    目录 我理解的监控 代码异常监控 远程主机配置jmx 修改要启动的java程序启动参数(JVM_OPTS). 修改文件权限 启动jvisualvm 监控服务器上的java程序 jstatd 连接到远程 ...

  3. 52ABP模板 ASP.Net Core 与 Angular的开源实例项目

    阅读文本大概需要 5 分钟. 开始之前 自从上一篇文章".NET:持续进化的统一开发平台"发布后,已经有三个月的时间没有写过文章了. 这段时间,做了两场线下活动,一场在上海,一场在 ...

  4. vue报错信息

    1.Property or method "xxx" is not defined on the instance but referenced during render. 原因 ...

  5. ElastichSearch漏洞

    Ubuntu服务器被黑经历(ElastichSearch漏洞) 起因 最近我们的一台Ubuntu阿里云服务器一直提示有肉鸡行为,提示了好几天,开始并没有关注,然后连续几天后发现应该是个大问题啊.很可能 ...

  6. IdentityServer4【Topic】之授权类型

    Grant Types 授权类型 授权类型指出了一个客户端如何与IdentityServer进行交互.OpenID Conect和OAuth2.0定义了如下的授权类型: Implicit Author ...

  7. 2 Servlet 细节

    1 Servlet 配置详解 ①  由于客户端在浏览器只能通过URL访问web服务器的资源,所以Servlet程序若想被外界访问,必须把Servlet 程序映射到一个URL 地址上,这个工作在项目we ...

  8. findBugs安装

    点击“Help->InstallNew Software”,如下图所示: 2 接着如下图所示: 3 Name”输入“findBugs”,“Location”输入“http://findbugs. ...

  9. [转帖]Introduction to text manipulation on UNIX-based systems

    Introduction to text manipulation on UNIX-based systems https://www.ibm.com/developerworks/aix/libra ...

  10. mybatis事务管理机制详解

    1.mybatis事务的配置和使用 mybatis事务有两种使用方式: (a):使用JDBC的事务管理机制:即使用java.Sql.Connection对象完成对事务的提交,回滚和关闭操作. (b): ...