AMFPHP 1.9的中文问题

AMFPHP 1.9里直接使用中文会在传递数据时发生乱码,这个问题在AMFPHP中的gateway.php文件就已经给出了解决方法。

见gateway.php文件中的注释:

// Oriental languages (Chinese, japanese, korean):
$gateway->setCharsetHandler( "none", "ISO-8859-1", "ISO-8859-1" );
$gateway->setCharsetHandler( "iconv", "big5", "big5" );
$gateway->setCharsetHandler( "iconv", "CP950", "CP950" );
$gateway->setCharsetHandler( "iconv", "Shift_JIS", "Shift_JIS" );
$gateway->setCharsetHandler( "iconv", "CP932", "CP932" );
$gateway->setCharsetHandler( "iconv", "CP949", "CP949" );

也就是说你的文件是用什么格式编码的,就把gateway.php文件中的$gateway->setCharsetHandler( "iconv", "big5", "big5" );中的两个“big5”改成相对应的编码名称就可以了。而在中国,一般使用“utf-8”、“gb2312”和“big5”,我用“utf-8”,所以在gateway.php文件中找到$gateway->setCharsetHandler("utf8_decode", "ISO-8859-1", "ISO-8859-1");一行代码,把它改成$gateway->setCharsetHandler("iconv", "UTF-8", "UTF-8");就能正常传递中文数据了!

此条目发表在 php 分类目录,贴了 , 标签。将固定链接加入收藏夹。

AMFPHP 1.9的中文问题》有 2 条评论

  1. 邹庆伟 说:

    我传到php中的值 再返回 是中文 可是在php中直接返回的中文 还是乱码 希望主人 帮帮忙!

  2. admin 说:

    可能PHP直接返回的数据不是UTF-8格式的,请问你把PHP文件的格式设成了UTF-8了吗,如果不是,最好把PHP文件也保存成UTF-8格式的。
    如果保存成UTF-8格式仍然不行,最好把数据转码下。
    可以看看这个:http://www.510sj.net/jianwangzhan/post/93.html

发表评论

电子邮件地址不会被公开。 必填项已被标记为 *

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>