【发布时间】:2014-07-22 14:01:46
【问题描述】:
我用这个字段创建了一个表:
chr CHAR(1)
字符集和整理是: 默认字符集=utf8 COLLATE=utf8_swedish_ci
好吧,即使该字段只能包含一个字符,如果我插入如下值:
insert into tbl values ('ö');
那么该字段的长度将返回大于1。因此,sql:
select length(chr) from tbl where id = 1
return 2. 为什么?我知道字符集/排序规则的事情可能是一个真正的痛苦。我从一开始就没有 utf8_swedish_ci,这不好,因为我无法按字母顺序排序(ö 是在 o 之后获取的,这是错误的,因为字符 ö 是字母表中的最后一个)。 所以我想我最好继续使用 utf8_swedish_ci。但后来这件坏事发生了。任何人都知道如何解决这个问题?提前致谢。
【问题讨论】:
标签: mysql sql character-encoding