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

来源:互联网 发布:python txt 转成xml 编辑:程序博客网 时间:2024/06/06 02:45

问题描述: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}