Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблема при получении данных из AJAX запроса (кодировка)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Darok
Отправлено: 11 Мая, 2012 - 17:36:47
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Вобщем есть строка ввода, при вводе текста в неё с помощью ajax запроса прошаривается база и выдает совпадающие эелементы. все работает только вот , если етсь русская информация выводит вопросики . Щас скину все что есть помогите с ошибкой.

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3.  
  4. <div>
  5. <label for="search_term">Поиск скидки</label>
  6. <input type="text" name="search_term" id="search_term" />
  7. <input type="submit" value="search" id="search_button" />
  8. </div>
  9. <div id="search_results"></div>
  10. </form>
  11.  
  12. <script type='text/javascript'>
  13. $(document).ready(function(){
  14. $("#search_results").slideUp();
  15.    $("#search_button").click(function(e){
  16.        e.preventDefault();
  17.        ajax_search();
  18.    });
  19.    $("#search_term").keyup(function(e){
  20.        e.preventDefault();
  21.        ajax_search();
  22.    });
  23.  
  24. });
  25.  
  26. function ajax_search(){
  27.  $("#search_results").show();
  28.  var search_val=$("#search_term").val();
  29.  $.post("./selectajax.php", {search_term : search_val}, function(data){
  30.   if (data.length>0){
  31.     $("#search_results").html(data);
  32.   }
  33.  })
  34. }
  35. </script>
  36.  



а вот серверная часть

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $connect = mysql_connect($db_server,$db_user,$db_password)
  3. or die('Could not connect to mysql server.' );
  4.  
  5. mysql_select_db($db, $connect)
  6. or die('Could not select database.');
  7.  
  8. $term = strip_tags(substr($_POST['search_term'],0, 100));
  9. $term = mysql_escape_string($term);
  10.  
  11. $sql = "SELECT namecompany,telephone FROM client WHERE namecompany like '%$term%' or telephone like '%$term%' ORDER BY name asc";
  12. //$sql = "SELECT namecompany,telephone FROM client ORDER BY name asc";
  13. $result = mysql_query($sql);
  14.  
  15. $string = '';
  16. if (mysql_num_rows($result) > 0){
  17.   while($row = mysql_fetch_object($result)){
  18.     $string .= "<b>".$row->namecompany."</b> - ";
  19.     $string .= $row->telephone."</a>";
  20.     $string .= "<br/>\n";
  21.   }
  22. }
  23. else{
  24.   $string = "Нет такой компании!!!";
  25. }
  26. // $string = iconv("windows-1251", "utf-8", $string);
  27. echo $string;
  28.  


вся БД в Утф 8.
 
 Top
EuGen Администратор
Отправлено: 11 Мая, 2012 - 17:39:47
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




В серверном скрипте добавьте

после соединения с БД


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Darok
Отправлено: 11 Мая, 2012 - 17:42:26
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Спасибо огромное))) как все просто))
 
 Top
sKaa
Отправлено: 11 Мая, 2012 - 17:43:23
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


Ну насколько я осведомлен, сам HttpRequest или как там его еще, который собственно и есть Ajax по своей природе кодирует все сам в utf-8, а ваша страница судя по всему в какой-то другой кодировке, иногда помогает просто удаление мета-тегов которые так или иначе гласят о принадлежности к какой-либо кодировке внутри <head> страницы.
 
 Top
Darok
Отправлено: 11 Мая, 2012 - 17:46:22
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Помогла строчка
mysql_set_charset('utf8');
у меня все файлы в утф 8 без БОМ. и вообще уже теперь все в этой кодировке)) чтоб проблем не было) с переводом и конвертацией.
 
 Top
sKaa
Отправлено: 11 Мая, 2012 - 17:55:23
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


Только разве, что размер страницы и вообще всех запросов клиент-сервер ровно в два раза больше, а значит в 2 раза медленней Улыбка
 
 Top
Мелкий Супермодератор
Отправлено: 11 Мая, 2012 - 19:32:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




sKaa пишет:
ровно в два раза больше

Читать, что такое UTF8 и как устроен.


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB