|
|
|
| Всем добрый день! Помогите пожалуйста решить проблему!
Имеется форма в которой подгружаются с помощью AJAX данные из MSSQl. Проблема в том, что запрос понимает только английский текст, а с русским беда. Подскажите пож-та как сделать чтобы при вводе русского текста так же осуществлялся запрос (в приведенном ниже примере выгрузка осуществляеся только по английским словам) результатов AJAXом..
Скрипт брал отсюда - http://www.dhtmlgoodies.com/index.html?whichScript=ajax-dynamic-list
Заранее спасибо! | |
|
|
|
|
|
|
|
для: Front
(02.04.2008 в 11:15)
| | в php файле пишите
$var= iconv('utf-8', 'windows-1251',$var);
| а потом отсылайте $var в таком виде | |
|
|
|
|
|
|
|
для: 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 в 11:49)
| |
$letters = preg_replace("/[^а-я]si/","",$letters);
|
Подскажите а что означает si в регулярном выражении? | |
|
|
|
|
|
|
|
для: Front
(02.04.2008 в 12:02)
| |
\s - соответствие пробельным символам
i (Игнорировать регистр при поиске соответствия. Т. е. выражение "/mail/i" будет соответствовать как строке "MAIL", так и строке "mail".);
|
| |
|
|
|
|
|
|
|
для: 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"]."|";
}
}
|
Все равно русские буквы он не получает, когда пишешь русскими он весь список результатов выгружает! | |
|
|
|
|
|
|
|
для: Front
(02.04.2008 в 13:11)
| | В смысле результат приходит не в той кириллице?
Если да, то смотрите мой код который я дал вам выше | |
|
|
|
|
|
|
|
для: Antohins
(02.04.2008 в 13:29)
| | Нет, дело в том, что когда я пишу русскими буквами переменная приходит пустой. | |
|
|
|
|
|
|
|
для: Front
(02.04.2008 в 11:15)
| | Делайте сайт полностью в кодировке UTF-8, тогда проблем с кодировками не будет. Есть ли, которые извращаются и сквозь тернии к звёздам умудряются получить нужный результат в вин1251, но я лично такого не понимаю... | |
|
|
|