首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery AJAX字符编码

jQuery AJAX字符编码
EN

Stack Overflow用户
提问于 2009-02-16 14:30:50
回答 18查看 345.4K关注 0票数 60

我目前正在编写一个法语网站。有一个日程表页面,边上的链接可以用来加载另一天的日程表。

下面是我用来做这件事的JS:

代码语言:javascript
运行
复制
    <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来设置字符集:

代码语言:javascript
运行
复制
<?php header('Content-Type: text/html; charset=ISO-8859-15'); ?>

但这似乎也行不通。有什么想法吗?

另外,当您正在查看here...why时,当加载新页面时,最右侧的列是否似乎变小了,从而导致表扭曲,并且<td>中的每个<li>都换到下一行?

干杯

EN

Stack Overflow用户

发布于 2010-06-04 07:15:28

我也有类似的问题,在我们的西班牙语门户网站的内容评论系统中工作。最终解决了我的问题,经过几个小时的搜索,而不是混乱的jQuery字符集,似乎使用utf-8不管怎样,它是在处理ajax POST的PHP中从utf-8解码回ISO-8859-1。在PHP中有一个内置的函数utf8_decode(),所以我对注释字符串做的第一件事是:

代码语言:javascript
运行
复制
$comentario = utf8_decode($_POST['comentario']);

(然后我使用nl2br()htmlentities() PHP函数来准备要用html实体而不是特殊字符存储的文本)

万事如意,平安平安!Seba

票数 4
EN
查看全部 18 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/553463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档