小编典典

jQuery AJAX字符编码

ajax

我目前正在编码一个法语网站。有一个时间表页面,可以使用侧面的链接加载另一天的时间表。

这是我用来执行此操作的JS:

    <script type="text/javascript">
    function load(y) {
        $.get(y,function(d) {
            $("#replace").html(d);
            mod();
        });
    }
    function mod() {
        $("#dates a").click(function() {
            y = $(this).attr("href");
            load(y);
            return false;
        });
    }
    mod();
    </script>

实际的AJAX就像一个魅力。我的问题在于对请求的响应。

因为它是法语网站,所以有很多带重音的字母。出于这个原因,我使用ISO-8859-15字符集。但是,在响应我的AJAX请求时,由于字符编码似乎已更改回UTF-8,所以重音符号已变成?。

如何避免这种情况?我已经尝试过在要求的文档顶部添加一些PHP来设置字符集:

<?php header('Content-Type: text/html; charset=ISO-8859-15'); ?>

但这似乎也不起作用。有什么想法吗?

另外,当您中的任何人都在看…为什么加载新页面时最右边的列似乎变小,导致表变形,并且其中的每一个<li><td>换行到下一行?

干杯


阅读 408

收藏
2020-07-26

共1个答案

小编典典

UTF-8应该可以处理所有重音符号和外国字符-为什么不在数据源上使用它?

编辑
[
归档测试文件的副本。]与您的数据

一切都应该首先是UTF-8。我将文件加载到notepad ++中,转换为utf-8,然后手动将字符更改为重音符号。一旦完成,一切都会像魅力一样运作。

顺便说一句,除非您的服务器定义为php-process
.html文件,否则使用ajax加载的文件不会获得iso字符集。如果您坚持使用iso字符集,请请求一个php文件而不是html文件,并在标头中定义字符集(而不是在文件本身中)

2020-07-26