java开发中乱码的解决

总结一下,在JavaWeb中针对各种情况处理中文乱码的方法。 

  首先我们看下,一个请求响应的流程

  浏览器------------------>Servlet容器--------------->显示页面

    编码              使用容器的URIEncoding转码             解码

 

 举例:Tomcat作为Servlet容器,Tomcat的默认的URIEncoding是“iso8859-1“,可在server.xml配置文件中指定编码类型

  1.JSP中显示乱码

     解决方法:在JSP中第一行加上<%@ page pageEncoding="UTF-8"%>

                      即可解决。

  2.Servlet中显示乱码

     解决方法:在Servlet中加上response.setContentType("text/html;charset=UTF-8");

   3.Post请求中传中文参数显示乱码

     解决方法:接受参数前,加上request.setCharaterEncoding("UTF-8");

  4.Get请求中传中文参数显示乱码

        第一种解决方法:程序转码 

  1. <span style="font-size:14px;">String value = new String(pValue.getBytes("iso-8859-1"), "UTF-8");</span>  

         第二种解决办法

     修改tomcat,conf文件夹下的server.xml文件。将其中的

 
  1. <span style="font-size:14px;">    <Connector port="8080" protocol="HTTP/1.1"     
  2.                connectionTimeout="20000"     
  3.                redirectPort="8443"/>  </span>  

             修改为:

 
    1. <span style="font-size:14px;">    <Connector port="8080" protocol="HTTP/1.1"     
    2.                connectionTimeout="20000"     
    3.                redirectPort="8443"    
    4.       URIEncoding="UTF-8"/>  </span> 
posted @ 2013-08-03 16:02  梦醒心晴  Views(289)  Comments(0Edit  收藏  举报