javaweb项目中中文乱码

来源:互联网 发布:oracle数据库使用 编辑:程序博客网 时间:2024/05/09 15:00
总结一下,在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请求中传中文参数显示乱码

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

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

 第二种解决办法

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

<span style="font-size:14px;">    <Connector port="8080" protocol="HTTP/1.1"                  connectionTimeout="20000"                  redirectPort="8443"/>  </span>
修改为:
<span style="font-size:14px;">    <Connector port="8080" protocol="HTTP/1.1"                  connectionTimeout="20000"                  redirectPort="8443"        URIEncoding="UTF-8"/>  </span>

原文地址:http://blog.csdn.net/wc0077/article/details/7993394

0 0
原创粉丝点击