Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.11.2009, 10:01
Аспирант
Отправить личное сообщение для bobroff Посмотреть профиль Найти все сообщения от bobroff
 
Регистрация: 28.11.2009
Сообщений: 30

Плагин Autocomplete и кодировка (кириллица).
Здравствуйте.

Установил плагин jQuery Autocomplete (http://docs.jquery.com/Plugins/Autocomplete), настроил все работает. Но когда ввожу в поле текст на кириллице, запрос посылает в кодировке, отличной от кодировки сайта. Я не могу определить, в какой кодировке посылается запрос (пробовал iconv и т.п.). Подскажите, как разобраться с кодировкой? И как настроить, чтобы данные отправлялись и возвращались в одной и той же кодировке.

Заранее, спасибо...
Ответить с цитированием
  #2 (permalink)  
Старый 30.11.2009, 10:40
Интересующийся
Отправить личное сообщение для colonel Посмотреть профиль Найти все сообщения от colonel
 
Регистрация: 30.11.2009
Сообщений: 24

Полагаю что запросы идут в UTF-8. И, соответственно возвращаются тоже в UTF-8. Попробуйте изменить кодировку самого сайта на UTF-8 - для проверки.
Ответить с цитированием
  #3 (permalink)  
Старый 30.11.2009, 17:27
Аспирант
Отправить личное сообщение для bobroff Посмотреть профиль Найти все сообщения от bobroff
 
Регистрация: 28.11.2009
Сообщений: 30

Сообщение от colonel Посмотреть сообщение
Полагаю что запросы идут в UTF-8. И, соответственно возвращаются тоже в UTF-8. Попробуйте изменить кодировку самого сайта на UTF-8 - для проверки.
Кодировка сайта изначально в utf, пробовал перекодировать, нем получается.
Пробовал онлайн скрипты для определния кодировки - определяют MAC, но, думаю, такого быть не может.

Последний раз редактировалось bobroff, 30.11.2009 в 17:51.
Ответить с цитированием
  #4 (permalink)  
Старый 30.11.2009, 18:04
Интересующийся
Отправить личное сообщение для colonel Посмотреть профиль Найти все сообщения от colonel
 
Регистрация: 30.11.2009
Сообщений: 24

Приведите куски кода - только без "мусора".
Ответить с цитированием
  #5 (permalink)  
Старый 30.11.2009, 18:17
Аспирант
Отправить личное сообщение для bobroff Посмотреть профиль Найти все сообщения от bobroff
 
Регистрация: 28.11.2009
Сообщений: 30

Возможно вопрос сводиться к следующему: скрипт посылает кириллицу в виде get запрос в формате: %F0%B1%F0%B0%F0%BE%F0%B0%F0%BE%F1%8B. Как это преобразовать в кириллический текст?
Ответить с цитированием
  #6 (permalink)  
Старый 30.11.2009, 18:19
Аспирант
Отправить личное сообщение для bobroff Посмотреть профиль Найти все сообщения от bobroff
 
Регистрация: 28.11.2009
Сообщений: 30

Код:

Страница с автоподбором:
<script type="text/javascript" charset="utf-8">

$(document).ready(function(){
	$("#ingredients input").autocomplete('../php_server/ingredient_autocomplete.php');

});


ingredient_autocomplete.php

$query = strtolower($_GET["q"]);
if (!$query) return;
print_r(($query));


В результате в поле input крякозябы: http://pixs.ru/showimage/bugpng_9253986_365140.png

Последний раз редактировалось bobroff, 30.11.2009 в 18:24.
Ответить с цитированием
  #7 (permalink)  
Старый 30.11.2009, 18:27
Интересующийся
Отправить личное сообщение для colonel Посмотреть профиль Найти все сообщения от colonel
 
Регистрация: 30.11.2009
Сообщений: 24

Сообщение от bobroff
Возможно вопрос сводиться к следующему: скрипт посылает кириллицу в виде get запрос в формате: %F0%B1%F0%B0%F0%BE%F0%B0%F0%BE%F1%8B. Как это преобразовать в кириллический текст?
А, ну так это понятно, в GET-запросе кириллица кодируется совсем не в UTF-8, а в Unicode. Почитайте вот эту статью. Там все понятно расписано.
Ответить с цитированием
  #8 (permalink)  
Старый 30.11.2009, 18:36
Интересующийся
Отправить личное сообщение для colonel Посмотреть профиль Найти все сообщения от colonel
 
Регистрация: 30.11.2009
Сообщений: 24

Если интересно, то вот как у меня было в моем комплитере:
index.php
Цитата:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
$("#search2").autocomplete("autocomplete.php", {});
autocomplete.php
Цитата:
header('Content-Type: text/html; charset=utf-8');
.....
$q = isset($_GET["q"]) ? $_GET["q"] : "";
.......
if(mysql_num_rows($rs) != 0)
{
while($row = mysql_fetch_assoc($rs))
{
...
$content = trim($row["content"]);
$content = iconv('windows-1251', 'UTF-8', $content);
$number_of_people = trim($row["number_of_people"]);
$res = mb_strpos(mb_strtolower($content, "UTF-8"), mb_strtolower($q, "UTF-8"));
if($res !== false && $res == 0) print $content . "|" . $number_of_people . "|" . $id . "\n";
}
}
Ответить с цитированием
  #9 (permalink)  
Старый 30.11.2009, 18:56
Аспирант
Отправить личное сообщение для bobroff Посмотреть профиль Найти все сообщения от bobroff
 
Регистрация: 28.11.2009
Сообщений: 30

ОГРОМНОЕ СПАСИБО!!! Твой пример очень помог, все заработало!!!
Ответить с цитированием
  #10 (permalink)  
Старый 30.11.2009, 19:37
Интересующийся
Отправить личное сообщение для colonel Посмотреть профиль Найти все сообщения от colonel
 
Регистрация: 30.11.2009
Сообщений: 24

Ученье - свет, а ... Не за что! Карму можете мне повысить ;-)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите плагин kampil jQuery 1 04.11.2009 11:08
Потерял красивый плагин навигации картинками eai jQuery 0 09.07.2009 15:18
Плагин для файрфокса - чтение изображений SunnyDay Общие вопросы Javascript 4 28.04.2009 17:30
Пишу плагин к ФФ gnomik Firefox/Mozilla 1 30.01.2009 16:14
плагин autocomplete от jquery Anthony jQuery 0 14.12.2008 22:48