[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблемы с поиском в базе
Гость_Павел
запрос вида
SELECT * FROM pp_lots WHERE name LIKE '%$text%'
не выдаёт ничего, если в $text есть русские символы.
Если нету, то ищет нормально.
Если запрос вывести с помощь echo и вставить
в phpmyadmin, то всё находит.
Перед каждым запросом делаю "SET NAMES 'cp1251'"
Других проблем с кодировками нет.
Сравнение у всех таблиц стоит cp1251_general_ci
В чём может быть дело?




Спустя 28 секунд (28.01.2009 - 17:56) Гость_Павел написал(а):
запрос вида
SELECT * FROM pp_lots WHERE name LIKE '%$text%'
не выдаёт ничего, если в $text есть русские символы.
Если нету, то ищет нормально.
Если запрос вывести с помощь echo и вставить
в phpmyadmin, то всё находит.
Перед каждым запросом делаю "SET NAMES 'cp1251'"
Других проблем с кодировками нет.
Сравнение у всех таблиц стоит cp1251_general_ci
В чём может быть дело?

Спустя 7 минут, 37 секунд (28.01.2009 - 18:03) twin написал(а):
"SET NAMES 'cp1251'" этого достаточно один раз. А сам файл в какой кодировке? И передаете как, не GET случайно?

Спустя 11 минут, 58 секунд (28.01.2009 - 18:15) Гость_Павел написал(а):
Сам файл в ANSII.
Передаю GET и делаю
$text = utf8_urldecode($text);
$text = iconv("UTF-8", "CP1251", "$text");

Спустя 17 минут, 9 секунд (28.01.2009 - 18:32) twin написал(а):
PHP
$text = iconv("UTF-8", "CP1251", "$text");
Это Вы уже от безысходности написали? Не надо оно там. Если только не аяксом передаете. А если аяксом, то нужно еще в js кодировать.

Спустя 4 минуты, 11 секунд (28.01.2009 - 18:36) Guest написал(а):
Нет не аяксом. Эта строчка действительно не помогает.
если вставить $text в базу там получается
фыв&#1072
Как сконвертировать переменную эту переменную?

Спустя 1 минута, 45 секунд (28.01.2009 - 18:38) Guest написал(а):
если вставить $text в базу там получается
& # 1 0 9 2 ; & # 1 0 9 9 ; & # 1 0 7 4 ; & # 1 0 7 2
Поставил пробелы, а то в посте автоматически заменяется

Спустя 16 минут, 28 секунд (28.01.2009 - 18:55) Guest написал(а):
вопрос решил

$text = utf8_urldecode($text);
$text = iconv("UTF-8", "CP1251", "$text");
убрал

заменил на функцию utf16win отсюда
http://zhilinsky.ru/2007/08/10/php-unicode/
рад безумно
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.