Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.08.2011, 13:06
Аспирант
Отправить личное сообщение для DorianLeroy Посмотреть профиль Найти все сообщения от DorianLeroy
 
Регистрация: 05.05.2010
Сообщений: 36

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

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

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

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


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

Последний раз редактировалось DorianLeroy, 04.08.2011 в 13:12.
Ответить с цитированием
  #2 (permalink)  
Старый 04.08.2011, 13:47
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Ну а чего вы хотели? Тут urf8, там windows-1251. Пора уже давно использовать uft8, и не будет таких проблем.
Приводите все файлы к одной кодировке. Посылайте заголовки от сервера. И все будет хорошо.
Ответить с цитированием
  #3 (permalink)  
Старый 04.08.2011, 13:55
Аспирант
Отправить личное сообщение для DorianLeroy Посмотреть профиль Найти все сообщения от DorianLeroy
 
Регистрация: 05.05.2010
Сообщений: 36

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

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

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

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

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

Последний раз редактировалось DorianLeroy, 04.08.2011 в 13:58.
Ответить с цитированием
  #4 (permalink)  
Старый 04.08.2011, 14:02
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

1. iconv() в php
2. создать отдельную папку, положить туда скрипты и кинуть в нее htaccess со строкой, меняющей кодировку - всегда так делаю.
Ответить с цитированием
  #5 (permalink)  
Старый 04.08.2011, 14:03
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

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

AddDefaultCharset windows-1251

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

Content-Type: text/html;charset=windows-1251
Ответить с цитированием
  #6 (permalink)  
Старый 04.08.2011, 16:33
Аспирант
Отправить личное сообщение для DorianLeroy Посмотреть профиль Найти все сообщения от DorianLeroy
 
Регистрация: 05.05.2010
Сообщений: 36

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
кеширование HTML переданого через ajax BorisBritva jQuery 6 02.04.2011 01:23
Не та кодировка при изменении элементов DOM, загружаемых через ajax ShootNik Серверные языки и технологии 16 14.10.2010 09:55
Ajax разбор метода mycoding jQuery 14 21.05.2010 10:57
Кодировка при использовании Ajax Nichloas AJAX и COMET 9 17.09.2009 16:06
Объясните как вызывается ajax скрипт AddressBook из формы prog90 AJAX и COMET 3 06.06.2009 16:12