Поиск акцентированного символа в mysql

0

Мне нужно найти вхождения в таблицу mysql.

Сначала попробовали:   SELECT "LéL" как "% é%"; который не работает: он возвращает слово, содержащее e или é или è.

Я также пробовал с регулярным выражением без результатов (используя букву L):

SELECT "Lbc" REGEXP ".*L.*";  -- works : it finds L in the string LBC

SELECT "Lbc" REGEXP ".*\u4C.*"; -- doesn't work : can't find the hexadecimal equivalent of L in the string LBC.

Я хотел протестировать \u плюс шестнадцатеричный поиск... Я также попытался выполнить двойное экранирование, как указано в документе без изменений.

Поиск в регулярном выражении, по-видимому, действительно ограничен в mysql. Не нашел никакого документа, связанного с \u на http://dev.mysql.com/doc/refman/4.1/en/regexp.html.

Я использую mysql 4.1.

Если в mysql 5 есть решение, которое не существует в 4, я хотел бы узнать об этом.

  • 0
    почему вы не можете просто отправить реальный символ вместо шестнадцатеричного кода?
  • 0
    Ну, я буду проклят ... Это первое, что я попробовал ... но теперь, когда я попробовал снова после прочтения вашего комментария ... Это работает.
Показать ещё 3 комментария
Теги:
diacritics
search

1 ответ

1
Лучший ответ
SELECT 'LéL' LIKE '%é%' COLLATE utf8_bin;
/* latin1_bin if your data is in latin1, etc. */
1

SELECT 'LéL' LIKE '%e%' COLLATE utf8_bin;
0

см. http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like и http://dev.mysql.com/doc/refman/5.0/en/charset-binary-collations.html

протестированный в MySQL 5.1, также должен работать в 4.1.

  • 0
    +1 за хороший ответ, но у Longneck есть более простое решение. (ждет его, чтобы опубликовать свой комментарий в качестве ответа)
  • 0
    .... жаль. Я принимаю ваше решение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню