Ищите сортировку MySQL без учета регистра, где "a"! = "Ä" - PullRequest
3 голосов
/ 11 января 2010

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

Ответы [ 4 ]

6 голосов
/ 11 января 2010

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

0 голосов
/ 29 июля 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';
0 голосов
/ 02 марта 2017

Здесь прекрасно работает с utf8_german2_ci в качестве сопоставления:

SELECT * FROM tablename WHERE fieldname LIKE "würz%" COLLATE utf8_german2_ci
0 голосов
/ 10 октября 2010

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

Параметры сортировки зависят от языка, и, похоже, у немецкого языка нет собственного параметра в MySQL . (Я посмотрел на ваш профиль, где написано, что вы немец.)

...