Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.08.2010, 16:06
Интересующийся
Отправить личное сообщение для roma86 Посмотреть профиль Найти все сообщения от roma86
 
Регистрация: 16.08.2009
Сообщений: 22

Кодировка .load()
Здравствуйте. Есть скрипт на сервере text.php, который отдает html в кодировке win1251, есть страница на сайте, которая тоже в кодировке win1251. Скрипт jquery выглядит типа так
....

function() {
156 /* Подгружаем содержимое в селект (AJAX) */
157 var pointAjaxLink = jQuery(this).attr('href');
158 if ( pointAjaxLink != '#' ) {
159 jQuery(this).animate({frankySuperStar:jQuery(this).height()},200,function(){
160 jQuery('#activeAddress').load(pointAjaxLink);
161 });
162 }; 
....

т.е. в #activeAddress подгружается то что открывается c адреса в переменной pointAjaxLink. При этом, в опере и огнелисе кодировка меняется на utf-8 и на странице див с нужным классом и подгруженными данными получается в кракозяблах.
Подскажите, как их вставлять в win1251.
Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 27.08.2010, 20:03
Новичок на форуме
Отправить личное сообщение для Positiv4eG Посмотреть профиль Найти все сообщения от Positiv4eG
 
Регистрация: 27.08.2010
Сообщений: 3

В начале php скрипта который будет возвращать ответ нужно писать
header('Content-type: text/html; charset="windows-1251"');

Тогда скрипт будет знать что кодировка в ответе будет не UTF-8 a win1251
Ответить с цитированием
  #3 (permalink)  
Старый 27.08.2010, 23:21
Интересующийся
Отправить личное сообщение для roma86 Посмотреть профиль Найти все сообщения от roma86
 
Регистрация: 16.08.2009
Сообщений: 22

Так как раз делал. Сайт построен на битрикс. Кэширование отключал. Короче поменял load() на get() эффект тот же. Причем странное дело - глюк срабатывает через раз. то в нужной кодировке отдает то нет. И не систематически, рандомно. может 10 раз отдать в кодировке utf-8, потом пять раз в нужной win1251, а может еще как-нибудь самопроизвольно. После замены на get() проблема появилась и в хроме. Такие дела. Побороть пока не удалось. Думают три программиста и вот вы подключились.
Ответить с цитированием
  #4 (permalink)  
Старый 27.08.2010, 23:31
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Емнимс, в документации jQ где-то написано, что все аяксовые запросы работают исключительно в utf-8
Ответить с цитированием
  #5 (permalink)  
Старый 28.08.2010, 16:58
Новичок на форуме
Отправить личное сообщение для Positiv4eG Посмотреть профиль Найти все сообщения от Positiv4eG
 
Регистрация: 27.08.2010
Сообщений: 3

да не правда. У меня работает. попробуйте вот так:
$.ajax(
{
	type: "GET",
	cache: false,
	url: pointAjaxLink,
	data: "",
	success: function(data)
	{
		$('#activeAddress').html(data);
	}
});
Ответить с цитированием
  #6 (permalink)  
Старый 28.08.2010, 18:37
Интересующийся
Отправить личное сообщение для roma86 Посмотреть профиль Найти все сообщения от roma86
 
Регистрация: 16.08.2009
Сообщений: 22

Здравствуйте, все! Спасибо всем кто участвовал. Переписал все используя .ajax(). использовал параметр cache: false (спасибо Positiv4eG) и указал кодировку в параметре contentType (хотя возможно зря, это ж в каком виде данные отправляются на сервер). Потом ублил весь кэш на сервере, все сессии, отключил кэширование. Глюк так и имел место быть.
Потом заметили, что у авторизованного пользователя такого не наблюдается. Проверили еще. Потом еще проверили. Короче потом сделали невидимую авторизацию для любого пользователя. Теперь все без глюков. Похоже на то что это какие-то замуты с кэшем битрикса. Пробовали снова, теперь и с .get() все работает. С .load() не пробовали, уже западло.
Все. Концерт окончен).
Ответить с цитированием
  #7 (permalink)  
Старый 29.08.2010, 10:13
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от roma86
Короче потом сделали невидимую авторизацию для любого пользователя.
Вы мои кумиры.
Ответить с цитированием
  #8 (permalink)  
Старый 29.08.2010, 11:36
Интересующийся
Отправить личное сообщение для roma86 Посмотреть профиль Найти все сообщения от roma86
 
Регистрация: 16.08.2009
Сообщений: 22

Kolyaj,
Смех смехом, а ковырять ошибки битрикс нет ни времени ни желания.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятная кодировка.. Arfey Общие вопросы Javascript 14 17.06.2010 22:16
.load() - как в загруженном содержимом использовать jquery? rbooz jQuery 14 25.05.2010 12:03
Не могу понять какая кодировка Andrey Sipin Events/DOM/Window 1 05.10.2009 18:25
Кодировка в загрузчике FancyUpload vladex AJAX и COMET 5 08.09.2009 17:32
Кодировка, Проблемы Sanya Общие вопросы Javascript 0 31.01.2008 11:31