每次提交表单存入数据库都产生乱码.已经采取以下措施:
1.每张jsp页面都有<%@ page language="java" pageEncoding="UTF-8"%>
2.tomcat的server.xml有如下内容:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding='UTF-8'/>
3.hibernate.cfg.xml顶部内容如下:
<?xml version='1.0' encoding='UTF-8'?>
4.已经使用过滤器setCharacterEncoding,里面有:
request.setCharacterEncoding("UTF-8");
调试显示已经调用了。
5.mysql数据库设置为utf8编码,单独在mysql里写sql语句可以输入中文,显示中文。
可为什么就是一用网页提交就中文乱码了?
我使用hibernate持久类的,单独调试发现运行到如下语句时:
session=HibernateSessionFactory.getSession();
tx=session.beginTransaction();
session.save(user);
tx.commit();
其中user中的中文还是正常的,我真的不知道还有哪里有问题了,请大家帮我想想吧,会不会在提交到mysql的时候出问题了?
1.每张jsp页面都有<%@ page language="java" pageEncoding="UTF-8"%>
2.tomcat的server.xml有如下内容:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding='UTF-8'/>
3.hibernate.cfg.xml顶部内容如下:
<?xml version='1.0' encoding='UTF-8'?>
4.已经使用过滤器setCharacterEncoding,里面有:
request.setCharacterEncoding("UTF-8");
调试显示已经调用了。
5.mysql数据库设置为utf8编码,单独在mysql里写sql语句可以输入中文,显示中文。
可为什么就是一用网页提交就中文乱码了?
我使用hibernate持久类的,单独调试发现运行到如下语句时:
session=HibernateSessionFactory.getSession();
tx=session.beginTransaction();
session.save(user);
tx.commit();
其中user中的中文还是正常的,我真的不知道还有哪里有问题了,请大家帮我想想吧,会不会在提交到mysql的时候出问题了?
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.url">
jdbc:mysql://127.0.0.1:3306/netctoss?useUnicode=true&characterEncoding=utf8
</property>
<property name="connection.username">root</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="myeclipse.connection.profile">mysqlDriver</property>
<property name="show_sql">true</property>
在你连接数据库的后面加?useUnicode=true&characterEncoding=utf8
2.就是要看你数据库的安装是不是和你的页面编码方式统一了!只在连接字符串的后面加上characterEncoding=UTF-8是不好使的!
jdbc:mysql://localhost:3306/dbname?characterEncoding=utf8
request.setCharacterEncoding("UTF-8");
后
rsponse.setCharacterEncoding("UTF-8");
试着加入这段代看看