|
|
|
| Здравствуйте. Помогите пожалуйста со следующей реализацией:
В таблице 2 строки
1 Ирония
2 И.рония
Необходимо осуществить поиск в этой таблице по слову "ирония", игнорируя точки в таблице. При LIKE выведется только 1 строка. Знаю, что с помощью REGEX это решается, но в нем я не разбираюсь пока.
Какой запрос нужно составить, чтобы вывести и 1 и 2 строку по слову "ирония"? | |
|
|
|
|
|
|
|
для: Katakikuto
(17.06.2010 в 00:30)
| | В теории так:
WHERE str REGEXP "^\\.*И\\.*р\\.*о\\.*н\\.*и\\.*я\\.*$"
|
Пока что ни разу не сталкивался с корректной работой MySQL REGEXP с кириллицей.
UPD: тест прошёл успешно (как ни странно)... но учитывается регистр.
UPD2: запрос SELECT "н" REGEXP "^[н]{2}$" показал, что utf8-кириллица рассматривается как каша из одиночных байтов (каждый кириллический символ приравнивается к 2ум другим в какой то другой кодировке), так что аккуратней с изменениями. | |
|
|
|
|
|
|
|
для: Katakikuto
(17.06.2010 в 00:30)
| | Спасибо всем вам! Помогли.
Дабы не создавать новую тему спрошу здесь: а поиск с кавычкой возможно как-то осуществить? В базе хранятся данные с экранированным кавычками (\' или \"). Как можно осуществить поиск с такой кавычкой? Заметил, что на многих сайтах кавычки такие просто игнорируются (вырезаются) и поиск нужного слова с кавычкой не осуществляется. Есть ли способ это обойти? | |
|
|
|
|
|
|
|
для: Katakikuto
(17.06.2010 в 03:34)
| | >В базе хранятся данные с экранированным кавычками (\' или \")
Вы абсолютно в этом уверены?
Вперед решать задачу 21 из одноименного раздела. | |
|
|
|
|
|
|
|
для: Trianon
(17.06.2010 в 04:48)
| | Уверен. Обновил все записи с помощью htmlspecialchars с ENT_QUOTES.
Проблема решена. Спасибо. | |
|
|
|
|
|
|
|
для: Katakikuto
(17.06.2010 в 07:10)
| | Да хрен там она решена.
Затолкана внутрь поглубже и присыпана песком. | |
|
|
|
|
|
|
|
для: Trianon
(18.06.2010 в 01:27)
| | Ну для своих потребностей решена :)
Если не трудно, то можете подсказать как ее выкопать? | |
|
|
|
|
|
|
|
|
для: Trianon
(18.06.2010 в 01:27)
| | :DDD | |
|
|
|