hibernate 连接 mysql 乱码的情况

在本地开发环境中,一切正常,部署到服务器后(windows 2003 + tomcat)含有中文的查询和表单提交都有乱码,从以下几个方面检查并解决了问题:

1、将所有jsp、js、css文件默认编码改为了utf-8,未解决问题。

2、struts2的配置文件中加入了节点:<constant name="struts.i18n.encoding" value="UTF-8" />  ,未解决问题。

3、web.xml中做如下确认和修改,未解决问题。

<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>

4、spring 的配置文件中,将beans.xml做如下修改(红字部分),解决问题。

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/db?useUnicode=true&amp;characterEncoding=UTF-8" />
<property name="username" value="db" />
<property name="password" value="db" />
</bean>

 

解决后分析了下,应该是服务器端MYSQL的默认字符集和本地开环境不一致造成的,所以前三步的解决办法不能解决这个问题,不过一个项目中一定要保证前端到底层的编码一致,不然会很麻烦。

 

 

 

hibernate 连接 mysql 乱码的情况,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。