解决Jquery load()加载GB2312页面时出现乱码的两种方案

(编辑:jimmy 日期: 2024/10/10 浏览:2)

问题描述:jquery的字符集是utf-8,load方法加载完GB2312编码静态页面后,出现中文乱码。

a.php
复制代码 代码如下:
<script language="javascript" type="text/javascript">
$(function(){
$("#zz").click(function(){
$("#job").load("b.php");
})
})
</script>
<a id="zz">点击加载b页面</a>
<div id="job"></div>

b.php
复制代码 代码如下:
<?php
echo "我这里面有中文";
?>

解决方案:

方法一:将两个页面的编码格式转换成utf8

方法二:在b.php开头加入一行:header("Content-type: text/html; charset=gb2312");

a.php改为(不改应该也行):
复制代码 代码如下:
$("#job").load('b.php',function(rText){
$("#job").html(rText);
});

问题解决。

如果使用的是smarty模板引擎,a.php加载的是模板b.html,那么要先使php标签可用,然后在b.html中加入:{php}header("Content-type: text/html; charset=gb2312");{/php}

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。