今天把之前的一些代碼轉移到另外一台電腦的時候,
python manage.py syncdb
的時候報了
(1366, "Incorrect string value: '\\xE6\\x88\\x9A\\xE4\\xBC\\x9F...'
的錯誤,查了一下,應該是數據庫編碼設置的問題,看了一下本機數據庫的默認編碼,果然如此
mysql> show variables like "%char%"; +--------------------------+--------------------------------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql-5.7.11-osx10.9-x86_64/share/charsets/ | +--------------------------+--------------------------------------------------------+ 8 rows in set (0.01 sec) mysql> set character_set_database='utf8'; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> set character_set_server='utf8'; Query OK, 0 rows affected (0.00 sec)
把latin1的那兩個編碼改為utf8就沒問題了