Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: json_encode: взаимодействие с кириллицей (cp1251)
 
 автор: pavluxa09   (01.07.2011 в 19:19)   письмо автору
 
 

Добрый день. Имеется следующий код:

echo json_encode( array( 'test' => 'Русский текст' ) );


В результате на выходе мы получаем:

{"test":null}


Файл написан в кодировке CP1251 в ASCII, менять в нём кодировку нельзя. Цель использования JSON: взаимодействие с JQuery AJAX.

Как можно отремонтеровать?

  Ответить  
 
 автор: Emm   (01.07.2011 в 19:44)   письмо автору
 
   для: pavluxa09   (01.07.2011 в 19:19)
 

Поверь мне лучше поменять кодировку на UTF-8 нежели потом все время спотыкаться об кириллицу, можно попытаться поискать какие-то "нормальные костыли", и по 100500 раз конвертировать строку, но оно того не стоит, все равно где-нибудь да вылезет баг.. то символ не такой всплывет то звезды не так встанут..... я в свое время уже накушался этих косяков до тех пор пока не конвертировал все приложение в утф8.

  Ответить  
 
 автор: cheops   (02.07.2011 в 00:17)   письмо автору
 
   для: pavluxa09   (01.07.2011 в 19:19)
 

В первую очередь нужно убедиться, что у вас Apache отправляет HTTP-заголовки с правильной кодировкой - HTML-страницам на это плевать, а JavaScript - нет. Или, как советует Emm, использовать UTF-8, в этом случае тоже все будет нормально.

  Ответить  
 
 автор: pavluxa09   (02.07.2011 в 06:27)   письмо автору
 
   для: cheops   (02.07.2011 в 00:17)
 

Использование UTF-8 недопустимо в моём случае, я разрабатываю плагин к существующему скрипту, он к сожалению написан в кодировке UTF-8 ((

  Ответить  
 
 автор: f111   (02.07.2011 в 13:40)   письмо автору
 
   для: pavluxa09   (02.07.2011 в 06:27)
 

играйся с iconv-ом

  Ответить  
 
 автор: cheops   (02.07.2011 в 15:12)   письмо автору
 
   для: pavluxa09   (02.07.2011 в 06:27)
 

Можно действительно воспользоваться iconv(), т.е. пусть себе все будет в Windows-1251, но из AJAX-скрипта данные отправляйте в UTF-8. Если у пользователя настроена автоматическое распознавание кодировки (в 95% это так и есть) - все будет нормально.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования