在使用MySQL進(jìn)行中文存儲時(shí),常常會遇到一些生僻字無法存儲的問題。這是因?yàn)樵贛ySQL中,默認(rèn)的字符集是Latin1或者是UTF-8,而這些字符集中沒有包含一些生僻字。
為了解決這個(gè)問題,我們可以選擇使用更加完整的字符集,例如GB2312、GBK或者是UTF-16等等。比較常用的是GBK字符集,因?yàn)樗薌B2312中的所有字符,而且還增加了許多生僻字。
CREATE DATABASE test_db CHARACTER SET gbk; USE test_db; CREATE TABLE `test_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk;
在創(chuàng)建數(shù)據(jù)庫和表時(shí),我們可以指定字符集為GBK。這樣,當(dāng)我們存儲中文生僻字時(shí),就不會出現(xiàn)無法存儲的問題了。同時(shí),我們還需要在連接MySQL時(shí)指定字符集,例如:
mysql -u root -p --default-character-set=gbk
這樣,在連接MySQL時(shí)就會使用GBK字符集,這樣就可以順利地對中文進(jìn)行存儲和讀取了。