問題描述: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}