随笔 - 87  文章 - 279  trackbacks - 0
<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

潜心看书研究!

常用链接

留言簿(19)

随笔分类(81)

文章分类(89)

相册

ACM OJ

My friends

搜索

  •  

积分与排名

  • 积分 - 211825
  • 排名 - 116

最新评论

阅读排行榜

评论排行榜

Xajax乱码解决办法

用xajax给blog写了几个AJAX的应用,比如这个搜索页面,挺容易的,xajax到底是现在PHP下面最好的module,而且是为数不多的支持中文。

不过在开发中还是遇到中文乱码的问题,因为xajax的XMLHTTP对象Post表单的时候,是默认的用UTF-8字符来发送的。如果你的网页本来就是用的UTF-8编码的话,那么接收到的数据是正常的;如果你的网页编码是GB2312的话,问题就来了,POST过来的数据是UTF-8,而你整个站点是用GB2312来显示,那么所有的中文字符将全部变成乱码。

解决的方法其实也很简单,在php里面用 iconv( "UTF-8", "gb2312" , $FormValues['a']) 函数转换一下就可以了。

另外需要在 xajax.class.php 需要改一下默认的encoding:

define ('XAJAX_DEFAULT_CHAR_ENCODING', 'gb2312' );

Windows主机下如果是php4.3.x版本需要单独加载iconv()函数库(需要在php.ini中正确设置extension_dir,比如extension_dir = "C:/php/extensions/"
,同时需要取消;extension=php_iconv.dll一行前面的;号,并将c:\php\dlls\iconv.dll复制到c:\windows\system32目录下。

posted on 2007-07-21 22:25 阅读(279) 评论(0)  编辑 收藏 引用 所属分类: php学习与实践

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理