Отсутствие польских символов в контенте, загружаемом ajax (великолепное всплывающее окно)

Я пытаюсь отобразить польские символы, например:

Удалите ł новый фон ż с пола

Но вместо него у меня:

Wype Šnij poni ż sze pola

На моей главной странице я установил кодировку UTF-8 и полировку:

     <%@ page contentType="text/html; UTF-8" pageEncoding="UTF-8"%>
     <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

     <html lang="pl-PL">
     <head>

     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <meta charset="UTF-8">

На этой странице каждый символ отображается ОК.

Однако при использовании плагина jquery Magnific Popup для отображения другого html (в моем случае jsp как приложение на основе SpringMVC) символы плохо отображаются (как упоминалось выше).

Весь контент другого html, который я пытаюсь загрузить:

<div class="white-popup-block"
    style="max-width: 600px; margin: 20px auto;">

    <form class="appnitro" enctype="multipart/form-data" method="post" action="/goSomewhere">
        <div class="form_description">
            <p>Wypełnij poniższe pola</p>
        </div>
    </form>
</div>

Должен ли я добавить некоторые метаданные endoding на вторую страницу (выше)?

Спасибо за любую помощь.

ОБНОВЛЕНО

Вот фрагмент кода, который вызывает ajax-вызов «other.html»:

<script type="text/javascript">
  $(document).ready(function() {
    $('.simple-ajax-popup-align-top').magnificPopup({
      type: 'ajax',
      alignTop: false,
      tError: 'Nie można załadować <a href="%url%">elementu</a>.',
      overflowY: 'scroll' // as we know that popup content is tall we set scroll overflow by default to avoid jump
    });        
  });
</script>

<a class="simple-ajax-popup-align-top" href="/some/other/file">Open different Html</a>

Исходный код великолепного всплывающего окна: https://github.com/dimsemenov/Magnific-Popup


person Jacek Gralak    schedule 08.12.2013    source источник
comment
как вы загружаете этот другой html? пожалуйста, покажите нам больше кода.   -  person Michał Rybak    schedule 09.12.2013
comment
@MichałRybak - я обновил вопрос, добавив больше кода src   -  person Jacek Gralak    schedule 09.12.2013


Ответы (1)


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

Чтобы проверить это, откройте файл в браузере и установите кодировку браузера на UTF-8.

Чтобы преобразовать файл в другую кодировку, вы можете использовать встроенные функции редакторов - т.е. Notepad++ под Windows или PhpStorm (как Windows, так и Linux) предоставляет такую ​​возможность.

Обычно вы устанавливаете соответствующие заголовки (например, contentType: "application/x-www-form-urlencoded;charset=UTF-8") в своем вызове AJAX, но Magnific Popup, похоже, не позволяет вам это настроить.

person Michał Rybak    schedule 09.12.2013
comment
Спасибо, проблема действительно была с кодировкой... тем не менее я был почти уверен, что файл был закодирован в UTF-8. В Notepad++ файл был закодирован в: UTF-8 без BOM - знаете, в чем разница между этим и простым UTF-8? Кстати: еще раз спасибо за решение моей проблемы - person Jacek Gralak; 10.12.2013
comment
Взгляните на этот ответ для получения подробной информации, особенно комментариев, которые могут иметь отношение к вашей проблеме. - person Michał Rybak; 10.12.2013