【问题标题】:mysql encoding problemsmysql编码问题
【发布时间】:2010-12-15 01:49:03
【问题描述】:

我正在处理一些外部 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设置更改,不再处理编码问题。

【问题讨论】:

    标签: mysql django unicode encoding character-encoding


    【解决方案1】:

    This post 帮助我在将 MySQL 与 Django 一起使用时直接进行设置。

    【讨论】:

      【解决方案2】:

      首先,小毛病:您的源数据不能是 unicode,因为 unicode 不是编码。很可能是 utf-8 格式。

      您没有显示产生错误的代码或完整的回溯,因此很难猜测发生了什么。但是要尝试的一件事是将数据库字符集也设置为 utf-8,看看是否有帮助。

      【讨论】:

      • 当然,我所说的 unicode 是指“utf-8”。我知道,它不一样,但是,既然你做对了,我想,没关系;)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      • 2010-09-29
      • 2013-07-02
      • 2020-11-27
      • 2013-06-12
      • 2014-12-22
      相关资源
      最近更新 更多