使用阿拉伯语在MySQL中非法混合排序

时间:2011-03-11 15:35:53

标签: mysql collation arabic

我在MySQL中收到以下错误:

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

这是对我的应用程序中的查询的回应:

SELECT count(1) as idExists
FROM user
WHERE userName = 'خالد'

据我了解,这种情况正在发生,因为输入的字符对于我的表格所使用的校对类型来说是陌生的。

所以我的问题是应该使用排序规则来处理这个问题?用户表当前设置为UTF8,我认为是正确的,但显然我错了。它应该更改为Latin1还是有更好的排序规则来处理所有字符?

由于

1 个答案:

答案 0 :(得分:1)

如果您希望能够存储阿拉伯语(或希腊语,西里尔语,日语等),则不应使用Latin1。 UTF-8(或其他一些Unicode编码)是可行的方法。

您确定表的用户名列没有设置排序规则吗?