2009-10-12 17:00
一、MySql 端配置
1. 修改my.ini文件
[mysql]
default-character-set=utf8
說明:修改鏈接字符集和校對規(guī)則,它會(huì)同時(shí)設(shè)置character_set_client, character_set_connection, character_set_results。
也可以修改
[mysqld]
default-character-set=utf8
說明: 這里修改的是服務(wù)器的字符集和校對規(guī)則。
查看當(dāng)前服務(wù)器的字符集和校對規(guī)則:
mysql> show variables like 'character_set_server';
mysql> show variables like 'collation_server';
2. 修改數(shù)據(jù)庫和表的字符集和校隊(duì)規(guī)則。
例如:
-- Create Database.
drop database if exists HRDB;
create database HRDB DEFAULT CHARACTER SET utf8;
use HRDB;
-- 角色表
create table HR_ROLE (
ID bigint not null auto_increment,
NAME varchar(20) not null unique,
primary key (ID)
) ENGINE=INNODB DEFAULT CHARACTER SET utf8;
查看當(dāng)前數(shù)據(jù)庫的字符集和校對規(guī)則:
mysql> show variables like 'character_set_database';
mysql> show variables like 'collation_database';
查看表的字符集和校對規(guī)則:
mysql> show create table HR_ROLE \G;
二、Hibernate端
1. 修改 hibernate.cfg.xml文件。
增加:
<!-- Supported UTF-8 character set -->
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>
這樣就一切OK了。
注:筆者用的Hibernate版本是:hibernate-distribution-3.3.2.GA,MySql的版本是:mysql-5.1.37-win32。