我用这个字段创建了一个表:
chr CHAR(1)字符集和排序规则是:默认的CHARSET=utf8 COLLATE=utf8_swedish_ci
好吧,即使这个字段只能包含一个字符,如果我插入的值如下:
insert into tbl values ('ö');然后,字段的长度将返回超过1。因此,sql:
select length(chr) from tbl where id = 1返回2.为什么?我意识到,字符集/校对的事情可能是真正的痛苦。我从一开始就没有utf8_swedish_ci,这不是很好,因为我不能按字母顺序排序(字母0后面是取字母,因为字符是字母表中的最后一个字符)。所以我想最好还是继续使用utf8_swedish_ci。但后来这件坏事发生了。有人知道如何解决这个问题吗?提前谢谢。
发布于 2014-07-22 14:04:13
MySQL length函数返回长度(以字节为单位);您需要char_length来获取字符数。
https://stackoverflow.com/questions/24889502
复制相似问题