2013-12-08 1 views
1

Я пытаюсь показать ногтей символы, например:Отсутствие польских символов в загрузке контента с помощью Ajax (Magnific всплывающего окна)

Wype ł NIJ PONI ż Цзе Pola

Но вместо того, чтобы от него у меня есть:

Wype Å NIJ Poni ż Цзе 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"> 

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

Однако при использовании плагина 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 вызов 'different.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> 

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

+0

как вы загружаете этот «другой html»? пожалуйста, покажите нам больше кода. –

+0

@ MichałRybak - я обновил вопрос с большим кодом src –

ответ

2

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

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

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

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

+0

Спасибо, проблема была в кодировке действительно ... тем не менее я был уверен, что файл был закодирован в UTF-8. В Notepad ++ файл был закодирован в: «UTF-8 без спецификации» - знаете ли вы, в чем разница между ним и простым UTF-8? Btw: Еще раз спасибо за решение моей проблемы. –

+0

. Посмотрите на [этот ответ] (http://stackoverflow.com/a/2223926/1995170) для деталей, особенно комментариев, которые могут иметь отношение к вашей проблеме. –