標籤:
第一種:初始設定檔案(my.cnf)中設定參數
mysql資料庫預設的字元集是latin。所以需要在my.cnf中設定下。比如:
[[email protected] test]# more /etc/my.cnf
[mysqld]
default-character-set=utf8
然後串連進mysql,查看:
mysql> status
Server characterset: utf8
Db characterset: utf8
Client characterset: latin1
Conn. characterset: latin1
第二種:設定用戶端的字元集
在串連mysql的時候,需要加上個參數,比如:
[[email protected] test]# mysql -uroot -p –default-character-set=utf8
mysql> status
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
第三種:修改伺服器的環境變數 LANG
[[email protected] test]# export LANG=en_US
然後再串連mysql,就可以輸入中文了。
總結:
前兩種方法主要是解決中文亂碼的問題, 第三種方法是解決不能輸入中文的方法。
debian下mysql的字串修改為utf8(參考:rainysia的專欄)
一、進入mysql(mysql -uroot -p),查看當前資料庫字元集(status;)
二、查看當前系統版本(lsb_release -a)
Mysql不能插入中文
三、#vim /etc/mysql/my.cnf 。(5.5以前系統)在【client】下面加入
default-character-set=utf8
在【mysqld】下面加入default-character-set=utf8
Notice:注意
如果修改後不能啟動報錯試試把default-character-set=utf8改為character_set_server=utf8,僅僅加入到mysqld下面的.client就不需要加了
四、#vim /etc/mysql/my.cnf 。(5.5以後系統)如下修改:
[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
五、重啟mysql(/etc/init.d/mysql stop /etc/init.d/mysql start)
六、修成成功,進入mysql查看字元集(mysql>show variables like ‘character_set_%’;)
mysql chinese character-set