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=utf8

  在找到[mysqld] 添加

  ### 默认字符集为utf8

  default-character-set=utf8

  ### (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

  init_connect=‘SET NAMES utf8‘

  修改好后,重新启动mysql 即可,查询一下show variables like ‘character%‘;

3、同时创建hibernate数据库时需要显示设置数据库的编码方式为utf8。示例:

  create database daycode default charset=utf8;

4、做完这两步还是不行,需要修改hibernate的配置文件hibernate.cfg.xml,在配置文件配置hibernate.connection.url属性。示例:

  <property name="hibernate.connection.url">
          <![CDATA[jdbc:mysql://localhost:3306/daycode?useUnicode=true&characterEncoding=utf8]]>
  </property>

注意:此字符串不能写为jdbc:mysql://localhost:3306/daycode?useUnicode=true&characterEncoding=utf8,不然会出现编译错误,错误提示为将&连接符改为;。

设置这些之后乱码问题就解决了。

时间: 2024-10-06 06:04:17

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

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

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

Eclipse中hibernate连接mySQL数据库练习

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

xampp中php连接mysql数据库乱码解决

页面是utf8的,数据库也是utf8的,但是查询的结果集中文乱码,错误出现在php和数据库连接的地方. 默认好像是会把结果集以lant1的编码交给php,自然乱码了. 打开数据库配置文件,设置默认字符集如下即可 [client]端添加default-character-set=utf-8[mysqld]端添加default-character-set=utf-8 否则也可以执行查询之前先执行mysqli_query($connect, 'set names utf8'); 来设置查询结果集的字符

hibernate简单连接mysql数据库配置

使用hibernate连接mysql数据库 1:项目搭建好之后,在lib包中添加必要的jar包,和mysql数据库驱动jar包: jar包可以在hibernate的下载包(hibernate3.3.2.GA)中找到,这里所需要的jar包是: hibernate3.jar,lib/required目录下的所有jar包; 连接数据库所需要的jar包:mysql-connector-java-5.1.7-bin.jar; 如图: 2:jar包引入后编写实体类及映射文件: 实体类是xx.java文件;映

mybatis连接mysql数据库插入中文乱码

对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目前个人发现只能通过重新建库解决,建库的时候,选择UTF-8字符集.我试过修改现有数据库字符集为UFT -8,但是根本不起作用,插入的中文仍然乱码(中文显示成:???).重建库时选择字符集为UTF-8之后,中文正常显示了. 对于第二个问题,是这样 的情况:我建库时设置了数据库默认字符集为UTF-8,通过mysql workbench直接插

hibernate 连接 mysql 乱码的情况

在本地开发环境中,一切正常,部署到服务器后(windows 2003 + tomcat)含有中文的查询和表单提交都有乱码,从以下几个方面检查并解决了问题: 1.将所有jsp.js.css文件默认编码改为了utf-8,未解决问题. 2.struts2的配置文件中加入了节点:<constant name="struts.i18n.encoding" value="UTF-8" />  ,未解决问题. 3.web.xml中做如下确认和修改,未解决问题. <

EF 连接MySQL 数据库 ?保存中文数据后乱码问题

EF 连接MySQL 数据库  保存中文数据后乱码问题 采用Code First 生成的数据库,MySQL数据库中,生成的表的编码格式为***** 发现这个问题后,全部手动改成UTF8(图是另一个表的图),否则插入的数据,就会全部变成乱码 修改后可以正常插入数据(注意!!这里是直接用SQL 代码插入的数据) 之后用代码界面保存数据,如图 但数据中却变成乱码: 修改方法: 在连接MySQL的连接字符串中,加入配置文件信息:Character Set=utf8  来自为知笔记(Wiz)

Net、c# 连接Mysql数据库中文乱码

网上有两种解决方案: 第一种是,每次执行语句的时候都和PHP的类似,先执行 一句“set names utf8”或者“set names gb2312”; 1 MySQLCommand setformat = new MySQLCommand("set names b2312",m_Connection); 2 setformat.ExecuteNonQuery(); 3 setformat.Dispose(); 第二种是,在webconfig里加一句“Charset=gbk”; 1

Mybatis连接mysql数据库出现乱码

对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目前个人发现只能通过重新建库解决,建库的时候,选择UTF-8字符集.我试过修改现有数据库字符集为UFT -8,但是根本不起作用,插入的中文仍然乱码(中文显示成:???).重建库时选择字符集为UTF-8之后,中文正常显示了. 对于第二个问题,是这样的情况:我建库时设置了数据库默认字符集为UTF-8,通过mysql workbench直接插入