Кодировка символов JQuery AJAX - PullRequest
       48

Кодировка символов JQuery AJAX

57 голосов
/ 16 февраля 2009

Я сейчас пишу французский сайт. Есть страница расписания, где боковая ссылка может быть использована для загрузки расписания на другой день.

Вот JS, который я использую для этого:

    <script type="text/javascript">
    function load(y) {
        $.get(y,function(d) {
            $("#replace").html(d);
            mod();
        });
    }
    function mod() {
        $("#dates a").click(function() {
            y = $(this).attr("href");
            load(y);
            return false;
        });
    }
    mod();
    </script>

Фактический AJAX работает как шарм. Моя проблема заключается в ответе на запрос.

Поскольку это французский сайт, есть много букв с акцентом. Я использую кодировку ISO-8859-15 именно по этой причине. Тем не менее, в ответ на мой AJAX-запрос, акценты становятся символом?, Потому что кодировка символов, похоже, возвращается в UTF-8.

Как мне избежать этого? Я уже пытался добавить PHP в начало запрошенных документов для установки набора символов:

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

Но, похоже, это тоже не работает. Есть мысли?

Кроме того, хотя любой из вас ищет здесь ... почему самый правый столбец, кажется, становится меньше при загрузке новой страницы, вызывая искажение таблицы и каждый <li> в пределах <td> для переноса в следующая строка?

Приветствия

Ответы [ 22 ]

0 голосов
/ 23 марта 2011

Если все приложение использует ISO-8859-1, вы можете изменить свой jquery.js, заменив все вхождения encodeURIComponent на escape (в текущем скрипте jquery есть 2 вхождения для замены - 1.5.1)

См. encodeUIComponent и escape для получения дополнительной информации

0 голосов
/ 16 февраля 2009

У меня была такая же проблема со страницами, что:

  • Появляется нормально при обычном вызове
  • Неправильные специальные символы при вызове через запрос ajax

Для решения проблемы (используя php) я использовал utf8_encode() или htmlentities() в исходных данных Оба работали, я использовал их в разных проектах.

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