![](/icons/91929de.gif)
![](/icons/91929yi.gif)
![](/icons/91929de.gif)
![](/icons/91929dou.gif)
![](/icons/91929zifu.gif)
![](/icons/91929de.gif)
![](/icons/91929dou2.gif)
select to_id from test where to_id='cn象_王';
+---------------+
| to_id |
+---------------+
| cn陶_陶 |
| cn象_王 |
+---------------+
2 rows in
![](/icons/91929set.gif)
取cn象_王
![](/icons/91929de.gif)
![](/icons/91929de.gif)
![](/icons/91929dou2.gif)
这显然是不允许
![](/icons/91929de.gif)
![](/icons/91929dou2.gif)
查看它们
![](/icons/91929de.gif)
(root@im_offlog1a:)[test]> select hex('cn陶_陶');
+----------------+
| hex('cn陶_陶') |
+----------------+
| 636ECCD55FCCD5 |
+----------------+
1 row in
![](/icons/91929set.gif)
(root@im_offlog1a:)[test]> select hex('cn象_王');
+----------------+
| hex('cn象_王') |
+----------------+
| 636ECFF35FCDF5 |
+----------------+
1 row in
![](/icons/91929set.gif)
编码
![](/icons/91929de.gif)
![](/icons/91929yi.gif)
![](/icons/91929de.gif)
![](/icons/91929dou.gif)
![](/icons/91929yi.gif)
![](/icons/91929de.gif)
![](/icons/91929yi.gif)
![](/icons/91929de.gif)
![](/icons/91929dou2.gif)
show variables查看
| collation_connection | latin1_swedish_ci
| collation_database | latin1_swedish_ci
| collation_server | latin1_swedish_ci
手工把这些参数修改为latin1_bin
![](/icons/91929dou.gif)
![](/icons/91929yi.gif)
![](/icons/91929dou2.gif)
![](/icons/91929dou2.gif)
这里先解释
![](/icons/91929yi.gif)
![](/icons/91929de.gif)
它们以其相关
![](/icons/91929de.gif)
![](/icons/91929zifu.gif)
![](/icons/91929dou.gif)
![](/icons/91929yi.gif)
![](/icons/91929dou.gif)
比如latin1
![](/icons/91929zifu.gif)
校对规则 含义
latin1_german1_ci 德国DIN-1
latin1_swedish_ci 瑞典/芬兰
latin1_danish_ci 丹麦/挪威
latin1_german2_ci 德国 DIN-2
latin1_bin 符合latin1编码
![](/icons/91929de.gif)
latin1_general_ci 多种语言(西欧)
latin1_general_cs 多种语言(西欧ISO),大小写敏感
latin1_spanish_ci 现代西班牙
最后我们将表格重建
![](/icons/91929dou.gif)
![](/icons/91929de.gif)
![](/icons/91929dou2.gif)
这个问题就得到了解决
![](/icons/91929dou2.gif)
那么问题又来了
![](/icons/91929dou.gif)
原来MySQL按照下面
![](/icons/91929de.gif)
![](/icons/91929zifu.gif)
如果指定了CHARACTER SET X和COLLATE Y
![](/icons/91929dou.gif)
![](/icons/91929dou2.gif)
如果指定了CHARACTER SET X而没有指定COLLATE Y
![](/icons/91929dou.gif)
![](/icons/91929de.gif)
![](/icons/91929dou2.gif)
否则
![](/icons/91929dou.gif)
![](/icons/91929zifu.gif)
![](/icons/91929dou2.gif)
而我们在建表
![](/icons/91929de.gif)
![](/icons/91929set.gif)
![](/icons/91929dou.gif)
![](/icons/91929de.gif)
![](/icons/91929de.gif)
![](/icons/91929dou2.gif)
当然我们其实也没必要重建表格
![](/icons/91929dou.gif)
![](/icons/91929dou2.gif)
另外建议collation都尽量采用
![](/icons/91929zifu.gif)
![](/icons/91929de.gif)
![](/icons/91929de.gif)
![](/icons/91929dou.gif)
最新评论