xajax乱码一例


网友玉权使用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();


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3