|
|
|
| Есть база данных и сайт, извлекающий из него информацию. Вся база данных и таблицы в ней, сравниваются с utf8_general_ci. Все строки этих таблиц также сравниваются с utf8_general_ci. Все файлы на сайте в кодировке UTF-8 без BOM, и практически в каждой страничке есть метатег с указанием кодировки UTF-8. База данных хранит в себе данные и на латинице, и на кириллице. При подключении к БД с сайта сразу прописываю:
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
Затем, произвожу поиск по ключевому слову $keywd:
$db = @mysql_connect('localhost','USER','PASSWORD') or die("Подключение к MySQL-серверу не удалось!");
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
mysql_select_db('DATABASE',$db);
$res = @mysql_query("SELECT *
FROM `DATABASE`.`TABLE`
WHERE category='$cat_en' and request='$req_en'
and(`lot` LIKE '%$keywd%');
Проблема заключается в том, что когда я ввожу слово на латинице, его в БД находит, а когда ввожу слово на кириллице, результатов поиска нет. Подскажите пожалуйста, в чем может быть проблема?
Добавил:
Переменные сервера хостинга:
character set client utf8
(Глобальное значение) latin1
character set connection utf8
(Глобальное значение) latin1
character set database latin1
character set filesystem binary
character set results utf8
(Глобальное значение) latin1
character set server latin1
character set system utf8
character sets dir /usr/share/mysql/charsets/
collation connection utf8_general_ci
(Глобальное значение) latin1_swedish_ci
collation database latin1_swedish_ci
collation server latin1_swedish_ci | |
|
|
|
|
|
|
|
для: icamys
(25.03.2012 в 16:34)
| | попробуй в файле .htaccess прописать | |
|
|
|
|
|
|
|
для: Роккер Руслан
(26.03.2012 в 10:02)
| | Прописал... Не помогло... | |
|
|
|
|
|
|
|
для: icamys
(25.03.2012 в 16:34)
| | сам файл скрипта в какой кодировке? UTF8 без BOM?
каким редактором пользуетесь для написания кода? | |
|
|
|
|
 31.2 Кб |
|
|
для: Valick
(27.03.2012 в 07:32)
| | Абсолютно все файлы в UTF8 без BOM. Использую PHP Designer и Notepad++.
Прикрепил пару скринов для наглядности. Если нужны еще какие-то данные для решения проблемы, пожалуйста, скажите. Меня эта проблема поставила в тупик, и я думаю - может стоит перевести всю БД в cp1251? | |
|
|
|
|
 21.4 Кб |
|
|
для: icamys
(27.03.2012 в 13:46)
| | второй скрин | |
|
|
|
|
 53.8 Кб |
|
|
для: icamys
(27.03.2012 в 13:46)
| | третий скрин | |
|
|
|
|
|
|
|
для: icamys
(27.03.2012 в 13:46)
| | может дело в типе таблиц? (скрин 2) | |
|
|
|
|
 21.4 Кб |
|
|
для: icamys
(27.03.2012 в 13:46)
| | еще я заметил, что если проводить поиск в самой БД, таким образом, как на прикрепленном скрине (скрин 4), то результатов поиска не будет. | |
|
|
|
|
 17.8 Кб |
|
|
для: icamys
(27.03.2012 в 13:46)
| | А если провести поиск такми образом, как на этом скрине(скрин 5), то результат поиска есть.
(изменение: с оператора LIKE перешел на оператор LIKE %...% ) | |
|
|
|
|
|
|
|
для: icamys
(27.03.2012 в 13:46)
| | . | |
|
|
|