amfphp的乱码问题

flash使用remoting和amfphp通信传值时,php类编码格式为ANSI时一切正常,但返回给flash的结果如果是中文就会出现乱码……这是编码格式的问题,可是当我把php类转存为UTF-8的编码格式时,诡异的现象出现了!不仅flash提示编码格式不识别,连amfphp的在线调试器browser也识别不了那个php类了……我就郁闷了,以前没有碰到过这种情况,如果是代码错误,那么不会在转了格式后才出现错误,在转格式之前就会因代码无法运行而报错,或弹出运行时错误。而且以前将php人工转成UTF-8后browser仍然能识别。

  本以为这个问题可以很快解决,谁知道越做越离奇,结果做得我牛脾气发作:不解决你老子就不睡了!后天还要考试啊……今天半天的复习又泡汤了……

  使用google到网上搜索了4个小时后,我都快吐血了,问题不仅没有解决,还有越发复杂的趋势。又找了2个小时后,终于被我搜集到了7个与这个问题相关的解决办法,都提到了要修改amfphp中的gateway.php文件第127行代码:

  [color=red]$gateway->setCharsetHandler( "utf8_decode", "ISO-8859-1", "ISO-8859-1" );[/color]


  可怕的是,这些改法几乎都不一样,所有可能的参数组合基本全都出现了……但乱码返回值还是义无反顾的显示。我绝望了,如果还是没有改观,我想我就要砸桌子了(看来还是有理性的)。

  整理整理思路,再把搜索到的所有解决办法从头试一遍,虽然我倒霉得试到最后一个才找到了解决办法,把那句话改为:

  [color=red]$gateway->setCharsetHandler( "mbstring", "gb2312", "gb2312" );[/color]

  顽固的乱码终于被镇压了!gb2312的格式一开始并不是没有想过,只是一直都想把它用UTF-8保存,对gb2312完全不予考虑……不过,既然能解决,就先用着先,可怜的UTF-8啊~ 纠结中。尽管根本问题没有根除,不过先得到处理先吧,这样至少能往下做了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值