为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery AJAX字符编码

jQuery AJAX字符编码

largeQ 2019-09-21 11:30:25
我目前正在编码一个法语网站。有一个时间表页面,可以使用侧面的链接加载另一天的时间表。这是我用来执行此操作的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>换到下一行?干杯
查看完整描述

3 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

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


编辑

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


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


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


查看完整回答
反对 回复 2019-09-21
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

在AJAX调用中指定内容类型可以解决我在挪威站点上的问题。


$.ajax({

        data: parameters,

        type: "POST",

        url: ajax_url,

        timeout: 20000,

        contentType: "application/x-www-form-urlencoded;charset=ISO-8859-15",

        dataType: 'json',

        success: callback

});

您还必须在服务器上指定字符集。


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


查看完整回答
反对 回复 2019-09-21
  • 3 回答
  • 0 关注
  • 891 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信