日期:2014-05-16  浏览次数:20325 次

JSP页面出现中文乱码的两种解决方案:

第一种:硬编码方式

? 1)在 .jsp 页面中,修改字符集设置:

<%@ page pageEncoding="GB2312" %>

或者,<%@ page contentType="text/html;GB2312" %>

该代码的作用就是告诉JSP引擎(如Tomcat),本页面使用的字符集是GB2312。如果没有此行代码,JSP则使用默认的字符集(通常为utf-8)。

? 2)更改Servlet中相关的代码:

设置输出页面的字符集GB2312,并对获取的内容进行强制转码;

?

//JSP引擎会自动把输出的页面转换成指定的字符集

response.setCharacterEncoding("text/html;GB2312");

//使用request.getParpameter("参数名");获得参数值

//参数值默认的字符集是ISO8859_1,如果不进行字符集转换,将导致汉字乱码

String sname = request.getParameter("name") ;

String name = new String(sname.getBytes("ISO8859_1"),"GB2312") ;

??? //new String(字符串值.getBytes(“原编码方式”),”目录编码方式”);

?

第二种:采用过滤器方式

?? 1)在 .jsp 页面中,修改字符集设置:

<%@ page pageEncoding="GB2312" %>