2010-01-11 6 views
3

Я ищу MySQL-сортировку для UTF8, которая нечувствительна к регистру и различает «a» и «ä» (или, в более общем плане, между umlauted/акцентированных персонажей и их «чистой» формы). utf8_general_ci делает первый, utf8_bin последний, бот нет. Обе. Если такого сопоставления нет, что я могу сделать, чтобы как можно ближе подойти в предложении WHERE?Ищите регистр без учета регистра MySQL, где «a»! = «Ä»

ответ

6

Моей рекомендацией было бы использовать utf8_bin и в вашем предложении WHERE закрепить обе стороны вашего сравнения в верхнем или нижнем регистре.

+0

аккуратным. Благодаря :-) – Simon

-1

Вы можете попробовать utf8_swedish_ci, это как чувствительно к регистру и различает и ä (но лечит, например, ü как у).

Коллажи зависят от языка, и, похоже, немецкий язык не имеет собственного collation in MySQL. (Я посмотрел на свой профиль, который говорит, что ты немец.)

0

здесь прекрасно работает с utf8_german2_ci в комплектовке:

SELECT * FROM tablename WHERE fieldname LIKE "würz%" COLLATE utf8_german2_ci 
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';