所以必須從 my.cnf中來決解這個問題。
修改mysql 的設定檔,加入以下的設定。
# vim /etc/mysql/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
正常來說,此時就可以正常insert data to mysql。
但是如果還是有問題的話,進入mysql consol界面check 一件事情。
# mysql -uroot -p
mysql > use yourdatabse;
mysql > show create table yourtable;
檢查這一行
ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
請create table時確定為utf8,如果不是utf8代表這table是在更改設定檔之前時,所create 出來的table。所以會一直無法寫入中文的data,因此再用django 的syncdb從新create table吧!