日期:2014-05-17  浏览次数:20698 次

关于JSP页面中文乱码的一个问题
第一个页面
index.jsp(我就只写关键代码了)
这是用标签写的一段超链接代码,准备往下一个页面datail.jsp传参数,要传的这几个参数在index.jsp页面的显示都ok,但是到了datail.jsp的时候就出现了中文乱码问题,我每个页面的编码方式还有字符集都是utf-8,而写还写了过滤器。
 <c:url value="/detail.jsp" var="detail">
                     <c:param name="gname" value="${goods.gname }"></c:param>
                     <c:param name="gpic" value="${goods.gpic }"></c:param>
                     <c:param name="gprice" value="${goods.gprice}"></c:param>
                     <c:param name="ctype" value="${goods.gcategory.ctype}"></c:param>            
                </c:url>
                <a href="${detail}">详细</a>
第二个页面
datail.jsp
商品名${param.gname}<br>
<img src="/t31/image/${param.gpic }"/><br>
¥${param.gprice}<br>
所属类别${param.ctype}
现在商品名和所属类别都是乱码,请大家帮忙解决解决。谢谢!

jsp

------解决方案--------------------
一共4钟情况
以前遇到这个问题的时候专门发的。
http://bbs.csdn.net/topics/390372335
看下
------解决方案--------------------
HTML没有指定charset,浏览器端调下编码试试
------解决方案--------------------
java web出现乱码,无外乎那几个地方:
1.jsp  
<%@page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>

2.容器 response.setContentType("text/html;charset=UTF-8");
       request.setCharacterEncoding(“UTF-8”); 
另外就是数据库连接设置jdbc:mysql:localhost:3306/test?useUnicode=true&characterEncoding=utf-8;

我自己做项目设置了拦截器,没发现什么问题啊
<filter>  
        <filter-name>Set Character Encoding</filter-name>  
        <filter-class>filters.SetCharacterEncodingFilter</filter-class>  
        <init-param><param-name>encoding</param-name>  
        <param-value>utf-8</param-value></init-param>  
</filter>