我正在处理一些外部API,当我保存到数据库时,我收到一些编码错误,我正在处理的所有内容都是unicode;但mysql编码设置为latin1。
它似乎在我的本地系统上工作正常,但在服务器上抛出错误。环境之间唯一的区别是本地运行 python2.6,而远程服务器运行 python2.5
以下是mysql规范:
mysql> SHOW VARIABLES LIKE "character\_set\_database";
+------------------------+--------+
| Variable_name | Value |
+------------------------+--------+
| character_set_database | latin1 |
+------------------------+--------+
1 row in set (0.00 sec)
mysql> SHOW VARIABLES LIKE 'character\_set\_%';
+--------------------------+--------+
| Variable_name | Value |
+--------------------------+--------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
+--------------------------+--------+
7 rows in set (0.00 sec)
以下是我遇到的错误:
Incorrect string value: '\xCB\x8Cs&ae...' for column 'content' at row 1
我应该如何更改 mysql 设置,以免再次处理编码问题。
最佳答案
This post帮助我在将 MySQL 与 Django 一起使用时直接进行设置。
关于mysql编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1708497/