1
Illegal mix of collations (big5_chinese_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like'

有时会抛出此错误,这是怎么回事?是干什么collation_*用的?有人可以给我一个例子来说明字符是如何编码、转换和选择的,与之相关的collation_*吗?

4

1 回答 1

1

在 MySQL 中,每个表都有一个表字符集和一个表排序规则。

排序规则是一组关于如何比较和排序字符串的规则。

每个 MySQL 排序规则都属于一个字符集,每个 MySQL 字符集都可以有一个或多个属于它的排序规则。

Mysqlbinary_key用于对字符集进行排序weight_string,MySQL 5.2 中提供的新功能将要比较的字符转换为binary_key.

SELECT WEIGHT_STRING('a'); 

给出 0x41。

SELECT WEIGHT_STRING('A'); 

给出 0x41。

这个来自 Mysqlwiki 的pdf有你想要的例子!

于 2009-09-18T09:38:35.610 回答