Sufir
Я не волшебник, я только учусь
Проблема с регистром...
Здравствуйте, товарищи!
В документации указано "Поиск выполняется без учета регистра символов.", однако следующие запросы возвращают 0 совпадений:
А такие - восемь:
В базе хранится именно "КОМБИНАТ", однако может оказаться и "Комбинат" и нужно выдать пользователю и то и другое. При чем не зависимо кирилица или нет, т.е. "factory" не находит, а "FACTORY" без проблем. Пробовал на версиях MySQL 4.1 и 5. Через phpMyAdmin вообще ни как не находит, к стати. Пробовал SET NAMES utf8 - эффекта нуль.
Данные хранятся в UTF-8, не в этом ли причина? Подскажите решение, если таковое есть, кто знает или ссылочку где почитать.
И еще вопрос, как преобразовать строку в кодировке utf8, например в верхний регистр? strtoupper работаеn не корректно, вместо "КОМБИНАТ" возвращает "ЊЎЌБИЍЀС". И вообще функции обработки строк. strlen возвращает неверную длинну, но при этом substr работает корректно.
Здравствуйте, товарищи!
В документации указано "Поиск выполняется без учета регистра символов.", однако следующие запросы возвращают 0 совпадений:
Код:
SELECT * FROM Phones WHERE MATCH (Title, Address) AGAINST ("Комбинат") LIMIT 100
SELECT * FROM Phones WHERE Title LIKE "к%"
Код:
SELECT * FROM Phones WHERE MATCH (Title, Address) AGAINST ("КОМБИНАТ") LIMIT 100
SELECT * FROM Phones WHERE Title LIKE "К%"
Данные хранятся в UTF-8, не в этом ли причина? Подскажите решение, если таковое есть, кто знает или ссылочку где почитать.
И еще вопрос, как преобразовать строку в кодировке utf8, например в верхний регистр? strtoupper работаеn не корректно, вместо "КОМБИНАТ" возвращает "ЊЎЌБИЍЀС". И вообще функции обработки строк. strlen возвращает неверную длинну, но при этом substr работает корректно.