utf8_swedish_ci的mysql字符长度

时间:2014-07-22 14:01:47

标签: mysql sql character-encoding

我用这个字段创建了一个表:

chr CHAR(1)

字符集和整理是:     DEFAULT CHARSET = utf8 COLLATE = utf8_swedish_ci

好吧,即使我认为该字段只能包含一个字符,如果我插入的值如下:

insert into tbl values ('ö');

那么字段的长度将返回大于1.因此,sql:

select length(chr) from tbl where id = 1

返回2.为什么?我知道charset / collat​​ion事情可能是一个真正的痛苦。我从一开始就没有utf8_swedish_ci,因为我无法按字母顺序排序(因为字符ö是字母表中的最后一个字符,因此错误地取出了ö)。 所以我想我最好继续使用utf8_swedish_ci。但后来发生了这件坏事。谁知道如何解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:4)

MySQL length函数返回以字节为单位的长度;您需要char_length才能获得字符数。