Я ищу сопоставление MySQL для UTF8, которое нечувствительно к регистру и различает «a» и «ä» (или, в более общем смысле, между umlauted / акцентированными символами и их «чистой» формой). utf8_general_ci
делает первое, utf8_bin
второе, бот никто не делает и то, и другое. Если такого сопоставления нет, что я могу сделать, чтобы максимально приблизиться к предложению WHERE
?
Ищем нечувствительную к регистру сортировку MySQL, где a! = Ä
Ответы (4)
Я бы порекомендовал использовать utf8_bin
, а в предложении WHERE принудительно использовать обе стороны сравнения в верхнем или нижнем регистре.
person
Andy West
schedule
11.01.2010
Здесь он отлично работает с utf8_german2_ci
в качестве сопоставления:
SELECT * FROM tablename WHERE fieldname LIKE "würz%" COLLATE utf8_german2_ci
person
cweiske
schedule
02.03.2017
Я проверил 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';
person
BjeMTj
schedule
29.07.2017
Вы можете попробовать utf8_swedish_ci
, он нечувствителен к регистру и различает a и ä (но обрабатывает, например, ü как y ).
Параметры сортировки зависят от языка, и кажется, что у немецкого языка нет собственного сопоставления в MySQL. (Я просмотрел ваш профиль, там написано, что вы немец.)
person
Christian Davén
schedule
10.10.2010