西西河

主题:【求助】mysql 里面邪门的 utf8mb4 问题 -- 铁手

共:💬15 🌺27 新:
全看分页树展 · 主题 跟帖
家园 我又继续手痒

接上面的脚本,我加了这句,把字段的Charset改了:

ALTER TABLE zzIronHand

CHANGE COLUMN `name` `name` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

然后再: select * from zzIronHand;

发现没有码,一切正常,索引也没报错。

如果换了其他collate, 尤其是那些ci结尾的,就会报错,说之前创建的唯一索引不对,这个是正常的,因为ci就是Case Insensitive,把e é当成一样的了。

不过好像MySQL的Charset/Collate是有些历史遗留问题的,可以参考一下这里:https://stackoverflow.com/questions/43644218/why-is-table-charset-set-to-utf8mb4-and-collation-to-utf8mb4-unicode-520-ci

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河