SSH(Spring+Struts+Hibernate)结构,数据库为mysql。数据库中编码为gbk,而网页的编码为utf-8。在保存记录时,发现中文变成了乱码。通过在网上查询,发现可以通过如下方法解决:
在hibernate的配置中,默认生成的数据库连接类似如下:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://server:3306/database"></property>
<property name="username" value="root"></property>
<property name="password" value="password"></property>
</bean>
为了解决中文乱码的问题,需要修改url的属性:
<property name="url" value="jdbc:mysql://server:3306/database?useUnicode=true&characterEncoding=gbk"></property>
特别注意,其中的"&"必须这样写,而不是直接写"&"。
本文转载自 http://blog.sina.com.cn/s/blog_53fa47430100pnz9.html