jQuery + ajax + кодировка Windows-1251

tvolf

Новичок
Добрый день.

Возможно, вопрос уже обсуждался, но что-то ответа найти не могу. Не удается получить кириллицу ajax-запросом в случае использования кодировки windows-1251.
Есть 2 файла: index.html

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<head>
  <title>Тестовый пример</title>
  <meta http-equiv="Content-Type" content="text/html;charset=windows-1251"/>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"> </script>
  <script type="text/javascript">
       $(document).ready(function(){
            $.getJSON('/test.php', function(d){
                   for (var k in d) {
                       alert('Key = ' + k + ' Value = ' + d[k]);    
                   } 
            });
       });
  </script>  
</head>
<body>
</body>
</html>
и вызываемый test.php

PHP:
<?php 
header('Content-type: text/html; charset=windows-1251');
echo json_encode(array(
    '111' => 'Текст 1',
    '222' => 'Текст 2',
));
exit;
Оба в кодировке Windows-1251. При загрузке на хостинге index.html получаю вместо текстовых строк
"Текст 1" и "Текст 2" null'ы. Как заставить выдавать нормальные строки ? Может, какие-то заголовки требуется дополнительно указать ? Если конвертирую test.php в utf-8 и указываю в header '.... utf-8', всё работает нормально. Хочется просто понять, возможно ли успешно передавать данные с сервера обратно на клиента в кодировке windows-1251 ?

Заранее благодарю за помощь.
 

iceman

говнокодер
Lirik
и где же ответ на вопрос в твоей ссылке? одно дело что передается ajax, а другое что получаем...
 

iceman

говнокодер
tvolf
пхп сделай в UTF-8

ps firebug тебе в помощь, смотри на заголовки и для начало загрузи страницу полностью, а потом отсылай свои реквесты
 

С.

Продвинутый новичок
Хочется просто понять, возможно ли успешно передавать данные с сервера обратно на клиента в кодировке windows-1251 ?
Да за ради бога! Только тогда эту кодировку надо явно в заголовках устанавливать.
 

Gargyl

Новичок
Как всегда, ищешь ответ, находишь непонятно что. AJAXом МОЖНО передать windows cp1251.
Для разнообразия, напишу ссылку c ответом на поставленный автором вопрос:
Передача НА сервер - тут:
http://qweewqrty.blogspot.ru/2013/10/win1251-ajax.html
Передача С сервера - еще проще:
В начале php страницы - надо просто выставить правильные заголовки ответа:
header("Content-Type: text/html; charset=windows-1251");
P.S. некропостинг - это конечно не очень, но сам искал ответ - запарился. Мб поможет кому
 
Сверху