mysql 插入字符问题,因为有一个字段我作了key,不能有重复数据,
在字段添加 a 字符后无法再添加 á 字符,提示
1062 - Duplicate entry 'á' for key 'chars'
**á ** 带声调的属于HTML实体字符,难道mysql认为 a 和 á 是一样的编码?
而且取 a 数据的时候 ,也会把 á 的数据取出来。
使用的服务器版本: 5.7.20 - MySQL Community Server 字符编码采用 UTF-8
mysql 插入字符问题,因为有一个字段我作了key,不能有重复数据,
在字段添加 a 字符后无法再添加 á 字符,提示
1062 - Duplicate entry 'á' for key 'chars'
**á ** 带声调的属于HTML实体字符,难道mysql认为 a 和 á 是一样的编码?
而且取 a 数据的时候 ,也会把 á 的数据取出来。
使用的服务器版本: 5.7.20 - MySQL Community Server 字符编码采用 UTF-8
可以了解一下mysql的COLLATE(效验规则)。默认的XXX_ci 是不区分大小写和是否携带声调的 。
只要把对应的字段或表的校验规则COLLATE设置为XXX_bin就会解决你说的问题。
比如:key
varchar(255) COLLATE utf8_bin