X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Изменение кодировки поиска в результатах
AES
AES
Topic Starter сообщение 28.4.2011, 0:02; Ответить: AES
Сообщение #1


Доброго времени.
Была задача сделать редизайн сайта, но позже появились и другие проблемы как эта. А в php я не силен.
Суть проблемы:
При использовании формы поиска при запросе например "Нивелиры", обрабатывается запрос, осуществляется переход на страницу с результатами по разделам (которые корректны). В форме поиска по прежнему стоит запрос "Нивелиры". На этом веселая часть этой истории заканчивается и начинается геморой...
При клике на любую категорию кидает на страницу -
"Извините, но по вашему запросу ничего не было найдено.
Попробуйте ввести другую или более простую фразу для поиска."

Еще бы! В форме запроса стоит запрос "мХБЕКХП", что впринцыпе далековато от "Нивелиры"
Проблема либо в обработчике либо в БД, точнее скорее всего в БД. Слил базы (кодировка баз - cp1251_general_ci , кодировка сайта - Windows-1251 (в исходном коде не указанна, возможно выставляется автоматом (файлы сайта в кодировке Windows-1251))), Поставил все это дело на Денвера (кодировка осталась прежней) - ввожу запрос "Нивелиры", запрос корректно обрабатывается, поиск работает!!!
Пример запроса на сайте в результатах:
Сайт:
<li><a href="/?act=search&target=product&qs=%EC%D5%C1%C5%CA%D5%CF%D8">Товары</a> (115)
<li><a href="/?act=search&target=category&qs=%EC%D5%C1%C5%CA%D5%CF%D8">Разделы</a> (148)
<li><a href="/?act=search&target=news&qs=%EC%D5%C1%C5%CA%D5%CF%D8">Новости</a> (4)


Сайт на денвере:
<li><a href="?act=search&target=product&qs=%CD%E8%E2%E5%EB%E8%F0%FB">Товары</a> (115)
<li><a href="?act=search&target=category&qs=%CD%E8%E2%E5%EB%E8%F0%FB">Разделы</a> (148)
<li><a href="?act=search&target=news&qs=%CD%E8%E2%E5%EB%E8%F0%FB">Новости</a> (4)


Визуально не хватает одного слеша :wacko:.
Хотя код вообще не трогал, да и после запроса в Денвере всеравно идет запрос "Невелиры" (проверил декодером), а на сайте "мХБЕКХП"
Подскажите где копать с чего начать...
P.S. CMS самописная, но писатель был явно даже не "татарин"...
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 28.4.2011, 0:19; Ответить: alexdrob
Сообщение #2


не читал всего текста, но предположу что вас спасёт строка
[PHP]mysql_query("set names 'cp1251'");[/PHP]
сразу после строки mysql_connect()
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
AES
AES
Topic Starter сообщение 28.4.2011, 0:43; Ответить: AES
Сообщение #3


(alexdrob @ 28.4.2011, 03:19) *
не читал всего текста, но предположу что вас спасёт строка
[PHP]mysql_query("set names 'cp1251'");[/PHP]
сразу после строки mysql_connect()

А куда ее вписать?
Есть файл inc.inc, в нем идут настройки переменных сайта,
[PHP]$link = mysql_connect($db_host, $db_usr, $db_pas) or die ("<h1>SQL Error. Can't connect to MySQL</h1>");
mysql_select_db($db_name, $link) or die ("<h1>SQL Error. Can't select database: $db_name</h1>");
unset($db_name);
unset($db_host);
unset($db_usr);
unset($db_pas);


$sql ="SET NAMES 'cp1251'";
$query = mysql_query($sql, $link) or sql_error ($sql, $link, __FILE__, __LINE__);[/PHP]

$sql ="SET NAMES 'cp1251'"; это не одно и то же?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Slavoz
Slavoz
сообщение 28.4.2011, 8:50; Ответить: Slavoz
Сообщение #4


хм, странно, а что если убрать установку кодировки?
[PHP]$sql ="SET NAMES 'cp1251'";
$query = mysql_query($sql, $link) or sql_error ($sql, $link, __FILE__, __LINE__);[/PHP]
попробуй, я в мускуле не силен, но все-таки надо попробовать)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
AES
AES
Topic Starter сообщение 28.4.2011, 9:25; Ответить: AES
Сообщение #5


(Slavoz @ 28.4.2011, 11:50) *
хм, странно, а что если убрать установку кодировки?
[PHP]$sql ="SET NAMES 'cp1251'";
$query = mysql_query($sql, $link) or sql_error ($sql, $link, __FILE__, __LINE__);[/PHP]
попробуй, я в мускуле не силен, но все-таки надо попробовать)

К сожалению результата не дало...
Вот ладно бы там иероглифы какие нибудь были, а то слово "Нивелиры" выглядит как "мХБЕКХПШ"...
Как оно так может преобразовываться?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FreeMasiK
FreeMasiK
сообщение 29.4.2011, 15:25; Ответить: FreeMasiK
Сообщение #6


а какая кодировка в httpd.conf?

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Есть ли инструмент для поиска запросов на YouTube?
1 rownong27 992 18.2.2024, 22:19
автор: malamut
Открытая тема (нет новых ответов) Посоветуйте плагин для поиска/фильтра по параметрам ACF Fields
для Wordpress
0 coremission 1414 20.6.2019, 10:14
автор: coremission
Открытая тема (нет новых ответов) Редактирование HTML кодировки текстов.
7 Neospeak 3898 28.11.2018, 4:20
автор: Neospeak
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыИзменение дизайна шаблона Joomla
0 neesupermario 1816 3.1.2018, 15:20
автор: neesupermario
Открытая тема (нет новых ответов) Нужен человек для поиска клиентов за процент от сделки
4 Evgos 3244 19.12.2017, 14:16
автор: Taylor


 



RSS Текстовая версия Сейчас: 18.4.2024, 5:35
Дизайн