- 发帖可能变空内容,邪门暂不知所以然
- 『稷下学宫』新认证方式,24年网站打算和努力目标
主题:【求助】mysql 里面邪门的 utf8mb4 问题 -- 铁手
共:💬15 🌺27 新:
复 GBK是没问题的
接上面的脚本,我加了这句,把字段的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
- 相关回复 上下关系8
🙂多谢各位帮忙,有所改进,但问题依旧存在。 2 铁手 字1028 2020-05-03 21:55:14
😜手痒,试了一下,好像gbk 可以 2 懒厨 字702 2020-05-05 03:23:14
🙂感觉已经踏进了mysql quirk的领域 1 shinji 字230 2020-05-04 21:51:24
🙂假设转换没出问题,就是collation的问题 2 shinji 字153 2020-05-03 19:03:01
🙂应该指定collation为utf8mb4_bin 4 骆筱 字308 2020-05-03 18:12:30