jsp中文乱码问题处理方法

来源:互联网 发布:淘宝外卖豆子 编辑:程序博客网 时间:2024/05/16 12:29

 jsp页面出现中文乱码在J2EE开发中是非常常见的,也是令刚步入这个领域的程序员非常头疼。出现中文乱码都是由于编码不统一导致的,面对不同的情况主要出现以下几种:

 

一、jsp页面显示编码问题:

        现象:页面中label都是中文乱码。

        处理方法:把头部第一句改为:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>,页面中所有的编码都设成UTF-8。

 

二、表单get提交的信息出现中文乱码。

        现象:url中的参数都为中文乱码。

       处理方法:在tomcat的配置文件server.xml进行配置:

          <Connector URIEncoding="UTF-8"
                 port="8080"   maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true"
          />

三、表单post提交的信息出现中文乱码。

        现象:在接收页面中接收的中文内容都显示中文乱码,而页面自身的中文显示正常。

       处理方法:

        在接受信息的页面里 写 <%request.setCharacterEncoding("UTF-8")%>

 

四、测试信息原来编码的方法:

  String userName = request.getParameter("userName");

  System.out.println(new String(userName.getBytes("ISO-8859-1"),"UTF8"));
  System.out.println(new String(userName.getBytes("GB2312"),"UTF8"));
  System.out.println(new String(userName.getBytes("GBK"),"UTF8"));
  System.out.println(new String(userName.getBytes("BIG5"),"UTF8"));
  System.out.println(new String(userName.getBytes("gb2312"),"UTF8"));

哪种可以正常显示的,原来就是采用的编码