我正在使用 JQuery load() 方法将内容加载到页面。唯一的问题是,当通过 load() 方法加载内容时,所有国家(抛光)字符都显示无效...在加载的两个页面和主页面(其中加载内容)编码设置为 iso-8859-2(是的) ,我知道,我应该使用 utf-8 bo,在这种情况下没有帮助)。
实在不知道怎么解决。我想到的唯一解决方案是在加载之前和接收数据解码之后用一些代码替换特殊字符,但这有点复杂:D
有什么想法吗?
干杯
最佳答案
好的,我做了一些研究。这就是我发现的:
jQuery .load()
不查看 HTML meta
标签 content-type
。您可以选择以下两个选项之一:
将 HTTP 响应 header 设置为
Content-type: text/html; charset=iso-8859-2
然后使用 jQuery.load()
。例如,在 PHP 中,您可以通过将其放在页面顶部来实现:<?php header('Content-type: text/html; charset=iso-8859-2'); ?>
使用 jQuery 覆盖客户端的 HTTP 响应内容类型。为此,您应该传递设置
mimeType: "text/html; charset=iso-8859-2"
至$.ajax()
。您不能使用.load()
来执行此操作因为它不支持设置ajax设置的功能。
这两个选项都经过测试,所以一切都应该有效! :)
关于JQuery load() 和国家字母(如 ę、ą、ć),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6556227/