django 字符集与 MySQL 的怪异

我看到了

OperationalError (1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='")

看起来我的一些变量是 UTF8 字符串

It looks like some of my variables are UTF8 strings

'name': 'pxc7x9dxcax87xc9x9fxc4xb1xc9xa5s 徽章'

'name': 'pxc7x9dxcax87xc9x9fxc4xb1xc9xa5s Badge'

这是配置问题吗?如果是这样,我该如何解决?我想处理 Unicode 中的所有内容(我认为).

Is this a configuration issue? If so, how can i solve it? I'd like to handle everything in Unicode (I think).

推荐答案

看来您的数据库默认为 latin1_swedish_ci,因此不能接受所有 utf8 字符.您需要更改 MySQL 数据库表的配置以使用 utf8_general_ci.可以在 MySQL 性能博客

It appears your database is defaulted to latin1_swedish_ci, and therefore cannot accept all utf8 characters. You need to change the configuration of the MySQL database tables to use utf8_general_ci. A good blogpost about this (with links to a tool) can be found at MySQL Performance Blog

相关文章