SSH框架中乱码问题

来源:百度知道 编辑:UC知道 时间:2024/05/13 08:52:16
用的是struts1.2,spring 2.0 hibernate3.0,在集合了3大框架了以后,在JSP页面向数据库存数据的时候,出现乱码问题,存入以后,再从数据库读取都是?号,我过滤器用的是spring写的<filter>
<filter-name>Spring character encoding filter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Spring character encoding filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
JSP页面的<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
tomat的server.xml文件也修改了<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
r

1.jsp采用gbk
2.servlet中request和response中采用gbk
3.数据库中建库采用gbk

前两条估计你没有问题
可能是你的数据库在建库的时候是默认的ISO字符集.好好检查一下。
不过采用gbk不是很好的字符集选择。因为一些特殊符号gbk也会有乱码。所以建议采用utf-8

1、你先清除浏览的历史和cookies,然后重新打开,看看有没有乱码。
2、字符集换成UTF-8试试?

看看你数据库用的是什么编码 ?

一般从jsp向数据库提交数据时 通常都使用 utf-8 编码格式

把 charset=GB18030 改写成 utf-8 或者 gb2312 试试

将过滤器的代码放在web。xml的最上边,以前我也发生过这样的事,老离奇了,所有地方都对,后来我把过滤器的代码放在web。xml的最上边就好了,要不你试试!!!!

表单数据采用post方式提交 再试试看 呵呵

修改