【问题标题】:Lack of Polish characters in content load by ajax (magnific popup)ajax 加载的内容中缺少波兰语字符(华丽的弹出窗口)
【发布时间】:2013-12-08 16:45:00
【问题描述】:

我正在尝试显示波兰语字符,例如:

Wype ł nij poni ż sze pola

但我有:

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">

在此页面上,每个字符都显示正常。

但是,当使用 Magnific Popup jquery 插件来显示不同的 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>

我应该在第二页(上图)中添加一些结束元数据吗?

感谢您的帮助。

更新

这是对“不同的.html”进行ajax调用的代码sn-p:

<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

【问题讨论】:

  • 如何加载这个“不同的 html”?请向我们展示更多代码。
  • @MichałRybak - 我用更多的 src 代码更新了问题

标签: jquery ajax spring-mvc character-encoding magnific-popup


【解决方案1】:

确保您尝试加载的 html 内容实际上是使用 UTF-8 编码保存的。

要检查这一点,请在浏览器中打开文件并将浏览器编码设置为 UTF-8。

要将文件转换为不同的编码,您可以使用编辑器的内置功能 - 即。 Windows 或 PhpStorm(Windows 和 Linux)下的 Notepad++ 提供了这样的选项。

通常,您会在 AJAX 调用中设置适当的标头(例如 contentType: "application/x-www-form-urlencoded;charset=UTF-8"),但 Magnific Popup 似乎不允许您进行配置。

【讨论】:

  • 谢谢,问题确实出在编码上……不过我很确定文件是用 UTF-8 编码的。在记事本++中,文件被编码为:“UTF-8 without BOM”——你知道它和简单的 UTF-8 有什么区别吗?顺便说一句:再次感谢您解决我的问题
  • 查看this answer 了解详细信息,尤其是 cmets,这可能与您的问题有关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-02
相关资源
最近更新 更多