Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск на русском с использованием AJAX
 
 автор: Front   (02.04.2008 в 11:15)   письмо автору
 
 

Всем добрый день! Помогите пожалуйста решить проблему!
Имеется форма в которой подгружаются с помощью AJAX данные из MSSQl. Проблема в том, что запрос понимает только английский текст, а с русским беда. Подскажите пож-та как сделать чтобы при вводе русского текста так же осуществлялся запрос (в приведенном ниже примере выгрузка осуществляеся только по английским словам) результатов AJAXом..

Скрипт брал отсюда - http://www.dhtmlgoodies.com/index.html?whichScript=ajax-dynamic-list

Заранее спасибо!

   
 
 автор: Antohins   (02.04.2008 в 11:18)   письмо автору
 
   для: Front   (02.04.2008 в 11:15)
 

в php файле пишите
 $var= iconv('utf-8', 'windows-1251',$var); 
а потом отсылайте $var в таком виде

   
 
 автор: Front   (02.04.2008 в 11:49)   письмо автору
 
   для: Antohins   (02.04.2008 в 11:18)
 

Вы имеете в виду, что в файле ajax-list-countries.php необходимо менять кодировку у переменной $letters;

Файл:

$conn = mysql_connect("","","");
mysql_select_db("",$conn);

if(isset($_GET['getCountriesByLetters']) && isset($_GET['letters'])){
    $letters = $_GET['letters'];
    $letters = preg_replace("/[^а-я]si/","",$letters);
    $res = mysql_query("select ID,countryName from ajax_countries where countryName like '".$letters."%'") or die(mysql_error());
    #echo "1###select ID,countryName from ajax_countries where countryName like '".$letters."%'|";
    while($inf = mysql_fetch_array($res))
    {
        echo $inf["ID"]."###".$inf["countryName"]."|";
    }    
}

   
 
 автор: Front   (02.04.2008 в 12:02)   письмо автору
 
   для: Front   (02.04.2008 в 11:49)
 


$letters = preg_replace("/[^а-я]si/","",$letters); 


Подскажите а что означает si в регулярном выражении?

   
 
 автор: Antohins   (02.04.2008 в 13:04)   письмо автору
 
   для: Front   (02.04.2008 в 12:02)
 


\s - соответствие пробельным символам
i (Игнорировать регистр при поиске соответствия. Т. е. выражение "/mail/i" будет соответствовать как строке "MAIL", так и строке "mail".);

   
 
 автор: Front   (02.04.2008 в 13:11)   письмо автору
 
   для: Antohins   (02.04.2008 в 13:04)
 


if(isset($_GET['getCountriesByLetters']) && isset($_GET['letters'])){ 
    $letters = $_GET['letters']; 
//ВОТ ТУТ ВСТАВИЛ ПЕРЕВОД КОДИРОВКИ
$letters= iconv('utf-8', 'windows-1251',$letters);

    $letters = preg_replace("/[^а-я]si/","",$letters); 
    $res = mysql_query("select ID,countryName from ajax_countries where countryName like '".$letters."%'") or die(mysql_error()); 
    #echo "1###select ID,countryName from ajax_countries where countryName like '".$letters."%'|"; 
    while($inf = mysql_fetch_array($res)) 
    { 
        echo $inf["ID"]."###".$inf["countryName"]."|"; 
    }     




Все равно русские буквы он не получает, когда пишешь русскими он весь список результатов выгружает!

   
 
 автор: Antohins   (02.04.2008 в 13:29)   письмо автору
 
   для: Front   (02.04.2008 в 13:11)
 

В смысле результат приходит не в той кириллице?
Если да, то смотрите мой код который я дал вам выше

   
 
 автор: Front   (02.04.2008 в 13:33)   письмо автору
 
   для: Antohins   (02.04.2008 в 13:29)
 

Нет, дело в том, что когда я пишу русскими буквами переменная приходит пустой.

   
 
 автор: coloboc66   (02.04.2008 в 11:20)   письмо автору
 
   для: Front   (02.04.2008 в 11:15)
 

Делайте сайт полностью в кодировке UTF-8, тогда проблем с кодировками не будет. Есть ли, которые извращаются и сквозь тернии к звёздам умудряются получить нужный результат в вин1251, но я лично такого не понимаю...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования