Какое сопоставление MySQL сравнивает, например е и е равны? - PullRequest
3 голосов
/ 01 марта 2012

РЕДАКТИРОВАТЬ: если такого сопоставления не существует, я могу обойти его, если в MySQL есть функция, которая преобразует строки в эквиваленты ASCII, например, FUNC('Være')='Vaere' - может быть несколько таких функций, по одной для каждого алфавита, что будет хлопотно, но допустимо, если эффективно.


Мне нужна сортировка MySQL5, которая будет сравнивать акцентированные символы как эквивалентные, независимо от акцентов. например «fêter» следует считать равным «feter», а «eł» должен соответствовать «el»

В идеале это не ограничивается односимвольными заменами, например «For At Være Som Man Bør» следует считать равным «For At Vaere Som Man Bor». WHERE name LIKE '%ere%' также должно соответствовать этому.

Я вижу, есть сопоставления для испанского / польского / и т.д., но мне нужно одно сопоставление, чтобы охватить все латинские алфавиты (не арабские или азиатские и т.д.). Строки хранятся в формате UTF-8.

Какое сопоставление мне следует использовать?

Ответы [ 2 ]

2 голосов
/ 01 марта 2012

Поскольку вы сказали, что используете набор символов utf8, ответ на исходный вопрос «все из них, кроме utf8_bin».

Во всех этих сопоставлениях вы найдете, что 'e' = 'ê'.

Однако я не знаю ни одного сопоставления, где 'æ' = 'ae' или 'ø' = 'o'.

 utf8_czech_ci
 utf8_danish_ci
 utf8_esperanto_ci
 utf8_estonian_ci
 utf8_general_ci
 utf8_hungarian_ci
 utf8_icelandic_ci
 utf8_latvian_ci
 utf8_lithuanian_ci
 utf8_persian_ci
 utf8_polish_ci
 utf8_roman_ci
 utf8_romanian_ci
 utf8_sinhala_ci
 utf8_slovak_ci
 utf8_slovenian_ci
 utf8_spanish_ci
 utf8_spanish2_ci
 utf8_swedish_ci
 utf8_turkish_ci
 utf8_unicode_ci
0 голосов
/ 01 марта 2012

utf8-general-ci будет ближайшим: http://www.collation -charts.org / mysql60 / mysql604.utf8_general_ci.european.html

Также обратите внимание, что с MySQL 5.0 вы можете создавать свои собственные параметры сортировки. http://dev.mysql.com/doc/refman/5.0/en/adding-collation.html http://forge.mysql.com/wiki/How_to_Add_a_Collation

...