1:Windows平臺(tái),因?yàn)閃indows操作系統(tǒng)默認(rèn)的是用了gb2312這個(gè)字符,而mysql在安裝的時(shí)候,默認(rèn)的是客戶端和服務(wù)器都用了latin1,所以這就導(dǎo)致一個(gè)字符集和字符校驗(yàn)不匹配的問(wèn)題,這個(gè)時(shí)候只需要找到mysql的配置文件my.ini 找到default-character_set ,把他的參數(shù)改成gb2312就可以了,一共有兩個(gè)這樣的參數(shù),一個(gè)是對(duì)客戶的,一個(gè)是服務(wù)器的,我一般建議是把服務(wù)器的設(shè)置成國(guó)際通用的字符utf8。-
2: Linux平臺(tái),在Linux平臺(tái)上安裝mysql的時(shí)候,給于的自由度是很大的,你可以在安裝選項(xiàng)./configure中找到數(shù)據(jù)庫(kù)的字符設(shè)置(這個(gè)還要麻煩你自己看readme安裝文件 ),這個(gè)時(shí)候最好是把字符設(shè)置成gbk,因?yàn)檫@個(gè)字符集也是Linux平臺(tái)默認(rèn)安裝的中文字符集,然后在/etc下找到my.cnf文件(這個(gè)文件在安裝mysql后要自己把他轉(zhuǎn)移到/etc/下,除非你是rpm安裝).需要注意的是Linux里的很多工具都是不支持中文的,哪怕是vi,你可以在startx后執(zhí)行命令kwrite,來(lái)編譯文件,這個(gè)圖形變異軟件有一個(gè)選項(xiàng)是可以把你所寫的東西轉(zhuǎn)換成任意的字符集,很不錯(cuò)。
二)不能插入中文解決辦法:
向表中插入中文然后有錯(cuò)誤。
mysql> insert into users values(88,'中文');
ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column 'usern
ame' at row 1
mysql> insert into users values(88,'中文');
ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column 'usern
ame' at row 1
還要更改users表的username的字符集。
mysql> alter table users modify username char(20) character set gbk;
ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'usern
ame' at row 1
mysql> alter table users modify username char(20) character set gbk;
ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'usern
ame' at row 1
因?yàn)楸碇幸呀?jīng)有數(shù)據(jù),所以更改username字符集的操作沒(méi)有成功
清空users表中的數(shù)據(jù)
mysql> truncate table users;
Query OK, 3 rows affected (0.01 sec)
從新更改user表中username的字符集
mysql> alter table users modify username char(20) character set gbk;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
這時(shí)再插入中文字符,插入成功。
mysql> insert into users values(88,'中文');
Query OK, 1 row affected (0.01 sec)
mysql> select * from users;
+--------+----------+
| userid | username |
+--------+----------+
| 88 | 中文 |
+--------+----------+
1 row in set (0.00 sec)
本文出自:億恩科技【www.allwellnessguide.com】
服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|