MySQL中文乱码--hibernate中

1、MySQL默认为拉丁字符集,安装的时候可以修正为utf8格式。至于网上所说的修改my.ini文件的字符集,在测试的时候发现,如果重启MySQL服务会出现无法重启的现象;如果安装MySQL的时候默认字符,可以重启安装MySQL的程序,然后重新修复一下即可,把字符集修正过来。使用utf8或者GBK;

2、MySQL可以使用status命令查看当前的MySQL的字符集等其他状态,选择数据库也可以看到当前数据的状态,可以看到当前数据库的字符集是不是所需的;
================================================================================
mysql> status;
--------------
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin\mysql.exe  Ver 14.12 Distrib 5
.0.22, for Win32 (ia32)

Connection id:          6
Current database:       clover
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.0.22-community-nt
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
TCP port:               3306
Uptime:                 3 hours 50 min 55 sec

Threads: 1  Questions: 108  Slow queries: 0  Opens: 0  Flush tables: 1  Open tab
les: 2  Queries per second avg: 0.008
--------------
==================================================================================

3、通过status查到的数据库server信息,通过set命令并不能更改,关闭dos窗口再次打开还会是原来的编码格式;set names gbk/set charset gbk;(分别对应上面的Conn.和Client)只对当前有效;

4、使用hibernate插入数据时,出现乱码现象在配置文件添加编码格式,但是这个编码格式只是链接的时候编码格式,并不能毕其功于一役,需要数据库前后保持一致,包括MySQL自身、数据库、表创建时的编码格式;
   <property name="connection.characterEnCoding">utf-8</property>
    --此为修改一处,但是这个只是链接的时候为utf8编码;


ps:技术流没图也有真相

猜你喜欢

转载自326866020.iteye.com/blog/2195989