1. 程式人生 > >django管理數據庫之中文字符編碼問題

django管理數據庫之中文字符編碼問題

mysql database 字符集 column model mod eat 編碼 插入中文

django中通過models創建數據庫字符編碼文字
mysql數據庫中默認的字符編碼都為latin1,插入中文時會出現以下的錯誤類型

1366 - Incorrect string value: \xE4\xB8\xAD\xE6\x96\x87 for column cName at row 1 

此時更改數據庫和數據庫內表的字符集,代碼如下:

CREATE  DATABASE  ms_db  CHARACTER SET  utf8  COLLATE utf8_general_ci; # 數據庫修改
ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; #
數據表的修改

對於錯誤:

Incorrect string value: \xE6\xA2\xB5\xE8\x92\x82...for column object_repr at row 1

解決方法是設置django_admin_log表的object_repr一項使用utf8_unicode_ci;

對於錯誤:

Incorrect string value: \xE6\xA2\xB5\xE8\x92\x82...for column change_message at row 1

解決方法是設置django_admin_log表的change_message一項使用utf8_unicode_ci;


django管理數據庫之中文字符編碼問題