网友玉权使用xajax的时候出现了乱码,收到文件看了一下,使用的是gb2312编码,由于xajax默认使用的是UTF-8,所以导致出现乱码,如何解决xajax中非utf-8编码如gb2312 big5等导致的乱码呢
出现乱码的原因:页面是gb2312的
内容也是
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
解决的办法是
1.全部用utf-8格式
页面另存为UFT-8格式
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
2.保持gb2312格式,因为网页其他部分全部是用gb2312的,全改不划算也当心出现其他问题
在调用xajax.inc.php前加入
define ('XAJAX_DEFAULT_CHAR_ENCODING', 'gb2312');
内容编码还用gb2312
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
页面另存为gb2312
以下两种方法来自于网上,未测试
原文地址在这里:
http://kfc.blog.bokee.net/bloggermodule/blog_viewblog.do?id=724169
xajax的会默认将web的post数据转化为UTF-8编码,这样对于中文数据如果在PHP中处理的编码不是UTF-8(比如是GB2312)的话,将会出现乱码现象。
3.修改xajax.inc.php
define ('XAJAX_DEFAULT_CHAR_ENCODING', 'utf-8' );
改为
define ('XAJAX_DEFAULT_CHAR_ENCODING', 'GB2312' );
然后
$xajax = new xajax();
$xajax->decodeUTF8InputOn();
4.
$objResponse = new xajaxResponse('gb2312');
$xajax = new xajax('gb2312');
$xajax->setCharEncoding();
$xajax->decodeUTF8InputOn();