在 mysql數據庫中,使用的是latin字符集,所以無法正常的支持中文字符,中文在數據庫中顯示為亂碼“?”號。為了讓mysql可以正常使用中文,尤其是當使用jsp連接mysql的時候,我們需要使用gbk的字符集,因此我們要對mysql進行以下設置,以便其有效的支持中文:
1.修改my.cnf文件
my.cnf文件是mysql的配置文件,我們可以從mysql的安裝目錄根據其自帶模板來
建立
#cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf
#vi /etc/my.cnf
在此文件中相應位置加入
default-character-set = gbk
########################
[client]
default-character-set = gbk
[mysqld]
default-character-set = gbk
#########################
修改結束以后,保存,然后使用客戶端登錄
#mysql -u root -p
在客戶端中輸入
>status;
顯示的數據中如果出現:
Server characterset: gbk
Db characterset: gbk
Client characterset: gbk
Conn. characterset: gbk
則表示修改成功。
2.建立庫表時指定gbk字符集
在建立庫表的時候我們需要指定gbk字符集
建立數據庫:
CREATE DATABASE dbname DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci
建立數據表
Create table tablename(
id int(10) unsigned NOT NULL AUTO_INCREMENT,
name varchar(15) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM DEFAULT CHARACTER SET gbk
建立好以后,在客戶端中使用:
>show cereate table tablename;
如果最后一行顯示gbk,則表示成功
3.修改jdbc驅動
jsp連接mysql需要使用jdbc驅動,在使用的時候,我們需要設置好字符集
String user="root";
String password="123";
String url="jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=gbk"
Class.forNname("com.mysql.jdbc.Driver");//裝載驅動類;
Connection con=DriverManager.getConnection(url,user,password);//取得連接
其中dbname為你數據庫的名字,url中的gbk即為使用的字符集
做好以上三步以后,mysql就可以支持gbk中文了。