Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Ajax. Кодировка. (https://javascript.ru/forum/misc/19444-ajax-kodirovka.html)

DorianLeroy 04.08.2011 13:06

Ajax. Кодировка.
 
Всем привет!

Отсылаю на сервер данные в нормальном виде - смотрю переменные через console.log(до отправки на сервер). Например переменная printer - выводится как Термопринтер Custom MNL.

После отправки данных - на стороне сервера в скрипте обрабатывающем данные пишу echo $_POST['printer'], на стороне клиента обрабатываю alert(data) - выводится как "РљРѕРјРїР»РµРєС‚Р°С†РёС ".

В браузере на автоопределение выставляется - windows-1251.
Если поставить utf-8, то принтер отображается нормально - но соответственно весь остальной контент сайта кракозябрами.


Объясните что за путаница с кодировкой?

ваый 04.08.2011 13:47

Ну а чего вы хотели? Тут urf8, там windows-1251. Пора уже давно использовать uft8, и не будет таких проблем.
Приводите все файлы к одной кодировке. Посылайте заголовки от сервера. И все будет хорошо.

DorianLeroy 04.08.2011 13:55

Да свои сайты у меня на utf-8, я знаю насколько это облегчает жизнь.

Но этот сайт не мой, дали на переделку логики только.

Весь сайт на windows-1251. Сайт большой.

Не хотел бы всё сейчас переводить на utf-8, ведь как я понимаю нужно вручную каждый документ на сервере изменять на utf-8.

Возможно ли именно переменную printer принудительно перевести в windows-1251?

Serg_pnz 04.08.2011 14:02

1. iconv() в php
2. создать отдельную папку, положить туда скрипты и кинуть в нее htaccess со строкой, меняющей кодировку - всегда так делаю.

ваый 04.08.2011 14:03

Ну заголовок попробуйте посылать с сервера. Если у вас апач, то можете в htaccess прописать

AddDefaultCharset windows-1251

или посылать заголовок.

Content-Type: text/html;charset=windows-1251

DorianLeroy 04.08.2011 16:33

Заголовок почему-то не помог(в скрипте на стороне сервера),
помогло json_encode - на серверной стороне.


Часовой пояс GMT +3, время: 17:02.