gpt4 book ai didi

jquery - 如何在 jQueryMobile 1.3.1 中通过 AJAX 使用正确的字符编码加载 ISO-8859-1 内容?

转载 作者:行者123 更新时间:2023-12-01 06:22:56 25 4
gpt4 key购买 nike

我有一个 PHP 脚本(CMS),它生成 ISO-8859-1 内容(在后台还有一个包含 Latin1 数据的数据库)。为了在移动设备上可视化数据,我使用 jQuery Mobile 1.3.1。一般来说,如果您在 HTML 中使用正确的元标记,则字符编码不会出现问题:

<meta charset="iso-8859-1" />

然而 jQuery Mobile 有这个默认设置:

$.mobile.ajaxEnabled = true;

因此,如果可能,jQuery Mobile 将通过 Ajax 自动处理链接点击和表单提交。

这是一个非常聪明的功能,但它破坏了一些特殊字符,例如德语变音符号,你会得到这个令人讨厌的字符:�

最佳答案

问题是 jQuery Mobile 1.3.1 在 ajax 请求上使用默认的 UTF-8。有不同的解决方案来解决这个问题:

  1. 对特定链接禁用 Ajax,这些链接会重定向到带有特殊字符的内容:

    data-ajax="false"
  2. 完全关闭ajax预加载功能:

    $.mobile.ajaxEnabled = false;
  3. 关注此recommendation并手动设置正确的内容类型并覆盖 mime 类型:

    $.ajaxSetup({
    contentType: 'application/x-www-form-urlencoded; charset=ISO-8859-1',
    beforeSend: function(jqXHR) {
    jqXHR.overrideMimeType('application/x-www-form-urlencoded; charset=ISO-8859-1');
    }
    });

最后一个解决方案对我有用。

关于jquery - 如何在 jQueryMobile 1.3.1 中通过 AJAX 使用正确的字符编码加载 ISO-8859-1 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16340344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com