我目前正在编写一个法语网站。有一个日程表页面,边上的链接可以用来加载另一天的日程表。
下面是我用来做这件事的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'); ?>
但这似乎也行不通。有什么想法吗?
另外,当您正在查看here...why时,当加载新页面时,最右侧的列是否似乎变小了,从而导致表扭曲,并且<td>
中的每个<li>
都换到下一行?
干杯
发布于 2010-06-04 07:15:28
我也有类似的问题,在我们的西班牙语门户网站的内容评论系统中工作。最终解决了我的问题,经过几个小时的搜索,而不是混乱的jQuery字符集,似乎使用utf-8不管怎样,它是在处理ajax POST的PHP中从utf-8解码回ISO-8859-1。在PHP中有一个内置的函数utf8_decode()
,所以我对注释字符串做的第一件事是:
$comentario = utf8_decode($_POST['comentario']);
(然后我使用nl2br()
和htmlentities()
PHP函数来准备要用html实体而不是特殊字符存储的文本)
万事如意,平安平安!Seba
https://stackoverflow.com/questions/553463
复制相似问题