Публикация и возврат данных с использованием jquery искажает - PullRequest
6 голосов
/ 24 августа 2011

Это вопрос с большим количеством информации в сети. Тем не менее, я не решил это.

У меня динамически загружаемая форма на веб-странице. Я отправляю его, используя jquery $ .post. Моя страница предназначена для шведов, поэтому она должна работать с Вау.

При публикации данных на сервер он загружает данные обратно в новую таблицу. Возвращенные сообщения повреждены. Пример åååäääööö = à ¥ à ¥ à ¥ äääööö

На стороне сервера php. Я кодирую все страницы, которые возвращают содержимое в браузер, следующим образом:

<?php header('Content-type: text/html; charset=ISO-8859-1'); ?>

Я пробовал utf8_encode и utf8_decode на стороне сервера. Нет разницы на самом деле.

И я попробовал это: encodeURIComponent ($ (this) .serialize ()) где $ (this) - форма для отправки. Конечно, это не работает, и я не знаю, как закодировать объект типа $ (this).

Я думал, что это то, что многие люди делают, но, похоже, это не стандартное решение.

Следовательно, мне нужна помощь, как я могу опубликовать форму, используя javascript / jquery / etc. и обрабатывать его на стороне сервера, возвращая его, и все выглядит так, как должно. Это нормально, если сервер получает utf8. Должен ли принцип использовать только UTF8, и тогда проблема решена? Похоже, должно быть другое решение.

1 Ответ

4 голосов
/ 24 августа 2011

AJAX использует кодировку UTF-8.Если ваши данные не в формате UTF-8 (например, Windows 1251 или ISO-8859-1), у вас возникнут проблемы.

Указание другой схемы кодирования в заголовке не преобразует ваши данныедо UTF-8.Он просто говорит клиенту, чего ожидать.

Мой девиз: UTF-8 сквозной или умри!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...