我正在寻找UTF8的MySQL排序规则,它不区分大小写,区分“a”和“ä”(或者更常见的是,在umlauted / accented字符和它们的“纯”形式之间)。前者是utf8_general_ci
,后者是utf8_bin
,两者都没有。如果没有这样的整理,我该怎样做才能在WHERE
条款中尽可能接近?
答案 0 :(得分:6)
我的建议是使用utf8_bin
并在你的WHERE子句中强制比较的两面为大写或小写。
答案 1 :(得分:0)
这里使用utf8_german2_ci
作为整理工作正常:
SELECT * FROM tablename WHERE fieldname LIKE "würz%" COLLATE utf8_german2_ci
答案 2 :(得分:0)
我这样检查了utf8_bin
CREATE TABLE tmp2 (utf8_bin VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_bin);
INSERT INTO tmp2 VALUES ('nói');
select * from tmp2 where utf8_bin='noi';
答案 3 :(得分:-1)
你可以尝试utf8_swedish_ci
,它既不区分大小写又区分 a 和ä(但是对待ü就像< EM>ÿ)。
整理是依赖于语言的,似乎德语没有自己的collation in MySQL。 (我看了你的个人资料,说你是德国人。)