网友玉权使用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(); (责任编辑:admin) |