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 乱码的情况,布布扣,bubuko.com

时间: 2024-10-13 02:44:33

hibernate 连接 mysql 乱码的情况的相关文章

Hibernate连接mysql数据库并自动创建表

天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. 所以说,Hibernate讲白了就是简化了与数据库之间的操作,那么要玩转它自然就得连接上数据库咯.(与Hibernate对应的orm框架还有Mybatis,只不过M

Hibernate连接MySQL数据库乱码相关问题

1.查看MySQL字符编码 >show variables like 'character%'; #执行编码显示 其中character_set_client,character_set_results,character_set_connection三个运行变量是造成乱码的关键 2.修改MySQL编码格式为UTF8 编辑my.ini,(注意:不是utf-8,也要注意大小写) 找到客户端配置[client] 在下面添加 ### 默认字符集为utf8 default-character-set=u

hibernate连接mysql,查询条件中有中文时,查询结果没有记录,而数据库有符合条件的记录(解决方法)

今天在另一台服务器上重新部署了网站,结果出现了以下问题: ——用hibernate做mysql的数据库连接时,当查询条件中有中文的时候,查询结果没有记录,而数据库中是存在符合条件的记录的. 测试了以下,发现不加条件查询可以查到,加上查询条件包含中文就无法找到记录. 百度发现,以下两篇文章很有帮助. http://gzxabcdefg.blog.163.com/blog/static/23451794201081554816892/ http://bbs.51cto.com/thread-1031

mybatis连接MySQL乱码

首先我想说这个问题.对于我来说坑了一下午 首先问题就是我用mybatispuls 连接mysql 第一步 jdbc:mysql://localhost:3306/11e?useUnicode=true&characterEncoding=UTF-8 先把连接改了.设置utf-8 ,但是发现问题并没有解决 第二步. 然后我在是不是没有没有配置my.cnf 查找MySQL用到的my.cnf ps aux|grep mysql|grep 'my.cnf' 发现没有找到. mysql --help |g

Eclipse中hibernate连接mySQL数据库练习

(采用的是hibernate中XML配置方式连接数据库,以后在更新其他方式的连接) Hibernate就是Java后台数据库持久层的框架,也是目前企业用最多的数据库框架,主要是基于ORM -- object relationship Mapping,翻译成中文叫“对象关系映射”,也就是将SQL这种非面向对象语言转化成hibernation面向对象的写法,本文将通过在Eclipse下搭建HIbernate框架 我所使用的Hibernate版本是Hibernate3.3.2,Hibernate官网下

【MySQL】mac环境下使用navicat premium连接mysql乱码问题

---恢复内容开始--- 最重要的两点:使用navicat premium创建mysql连接和在mysql连接里面创建数据库时,需要注意. 1.创建连接时,Encoding不需要手动选择,保持Auto就可以了. 2.使用该连接创建新的数据库时,也保持默认编码. 这两点注意了,如果还出现乱码的话,就有可能是mysql本身编码引起的,可以通过以下操作进行设置. 1. 在mac环境下,安装了mysql之后,/etc路径下是没有my.cnf文件的,需要我们手动添加. 找到mysql安装目录,在底下找到s

Hibernate连接MySQL

1 下载hibernate-3.6.0 Final.zip到任意目录,解压缩后得到hibernate目录 2 下载slf4j-1.7.13.zip到任意目录,解压缩后得到slf4j-1.7.13 3 在test库中创建student表 msql -localhost -u root –p use test create table student(NO char(20),name varchar(20),primarykey(NO)); 4 创建一个名为HibernateDemo的JavaPro

MFC与C#连接MYSQL乱码问题

MYSQL数据库编码为:latin1 问题现象:插入中文乱码,及用中文作参数无法得到相应数据 如select * from userinfo where username='李小明' MFC中解决方法: 执行语句前:mysql_query(&m_sqlCon, "set names latin1"); C#中解决方法: string username="李小明"; byte[] bytesStr = Encoding.Default.GetBytes(use

hibernate连接mysql自动重连

版权声明:本文为博主原创文章,未经博主允许不得转载.