• Уважаемый посетитель!!!
    Если Вы уже являетесь зарегистрированным участником проекта "миХей.ру - дискусcионный клуб",
    пожалуйста, восстановите свой пароль самостоятельно, либо свяжитесь с администратором через Телеграм.

Как проверить переменную помощи библиотеки?

  • Автор темы Автор темы Shatun
  • Дата начала Дата начала
S

Shatun

Гость
Есть окно для поиска:

echo '<table width="100%" border="0">
<TR><TD>
<form action="modules.php" method="get">
<input type="hidden" name="name" value="Imagegallery">
<input type="hidden" name="file" value="search">
<input size="45" type="text" name="query" value="'.$query.'">
<input type="submit" value="Поиск">
</form>
</td></tr>
</table>';

после поиска слова происходит поиск в базе данных

но иногда искомое слово при поиске отображается в неправильной кодировке. Причём заметил, что ищут с различными кодировками.
Возможно нужно подцепить библиотеку a.charset _WWW.popoff.donetsk.ua/file/text/libs/a.charset.php но как это сделать чтобы перед тем как произошёл поиск в базе данных введенное слово перекодировалось (если это нужно) при помощи указанной библиотеки, а только патом произошёл поиск в базе данных.

Например есть запрос

PHP:
 <?php
$result = mysql_query("SELECT searh_query FROM ".$prefix."_imagegallery_search WHERE searh_query = '".$query."' "); 
?>

подскажите пожалуйста как проверить переменную $query которая поступила от клиента при помощи библиотеки a.charset а только патом выполнить сам запрос в базе данных
 
Shatun написал(а):
но иногда искомое слово при поиске отображается в неправильной кодировке
А в странице html есть meta-тег http-equiv="Content-Type", задающий определенную кодировку для поисковой страницы?

Shatun написал(а):
Как я понял, это какая-то левая библиотека перекодировки... В принципе необязательно именно ее использовать.

Shatun написал(а):
введенное слово перекодировалось (если это нужно)
Когда ты принимаешь get-запрос, в переменных окружения можно найти кодировку, и в зависимости от этой переменной запускать ту, или иную функцию перекодировки.
 
Trotil,
да в странице есть Content-Type" CONTENT="text/html; charset=windows-1251

говорят что a.charse лучшая из всех имеющихся, но оч. большая

[q]можно найти кодировку, и в зависимости от этой переменной запускать ту, или иную функцию перекодировки.[/q]

можно подробнее (если возможно с примером кода)

прошу прощения, ведь a.charse и делает, определяет в какой кодировке текст и заменяет его на WIN 1251
 
Shatun написал(а):
прошу прощения, ведь a.charse и делает
Если ты так уверен (я с этой библиотекой не сталкивался просто), тогда

Подключение: require 'a.charset.php' (в начале php-файла)
Использование: вместо $query использовать charset_x_win($query)
 
Trotil.благодарю за желание помочь, только моих куриных мозгов не хватает куда конкретно нужно вставлять вместо $query -> charset_x_win($query)

код скрипта здесь – http://www.animac.ru/search.txt
удалил некоторые функции (которые не имеют отношения к поиску) и для восприятия (моего кривого кода) прокомментировал действия
 
Trotil, т.е. запрос нужно записать вот так -

PHP:
<?php 
$result = mysql_query("SELECT searh_query FROM ".$prefix."_imagegallery_search WHERE searh_query = 'charset_x_win($query)' ");  
?>
?
 
не знаю, сработает ли твой вариант, но я бы написал вот так:
PHP:
$result = mysql_query("SELECT searh_query FROM ".$prefix."_imagegallery_search WHERE searh_query =".charset_x_win($query));
 
Назад
Сверху