用汉字将GET变量从Flash传递到PHP

用汉字将GET变量从Flash传递到PHP,php,mysql,flash,actionscript,Php,Mysql,Flash,Actionscript,我从Flash调用一个php文件,然后添加变量,如下所示: 如果我直接将其复制并粘贴到web浏览器中,效果会很好,但是如果我通过flash调用它,地址栏最终会是这样的:something.php?title= 我可以从PHP或flash中对字符串进行编码/解码吗? 非常感谢您的帮助 谢谢, 意志 编辑: 谢谢大家,这种方法非常有效。一切都很好,但是我现在在通过MySQL将信息插入数据库时遇到了一些问题,我的所有字段都设置为UTF-8。我得到了一些奇怪的字符而不是汉字 非常感谢,, 将您需要对输

我从Flash调用一个php文件,然后添加变量,如下所示:

如果我直接将其复制并粘贴到web浏览器中,效果会很好,但是如果我通过flash调用它,地址栏最终会是这样的:something.php?title=

我可以从PHP或flash中对字符串进行编码/解码吗? 非常感谢您的帮助

谢谢, 意志

编辑: 谢谢大家,这种方法非常有效。一切都很好,但是我现在在通过MySQL将信息插入数据库时遇到了一些问题,我的所有字段都设置为UTF-8。我得到了一些奇怪的字符而不是汉字

非常感谢,,

您需要对输入查询字符串的参数进行URL编码。而IRIs可以包含文字
,URI不能。它应该编码为
%E7%88%B8
。(它通常仍然显示为
,IE中的某些情况除外。)

encodeURIComponent()
是在JavaScript/ActionScript中执行此操作的函数。

请参见rfc1738 2.2(),您需要对字符串进行编码。 我不知道如何在Flash中实现这一点,但PHP为您提供了(raw-)urlencode()和(raw-)urldecode()函数来实现这一点。

您需要输入字符(您使用的浏览器可能会自动执行此操作)。这用于允许传输URL中通常不允许的字符(如空格)或具有特殊含义的字符(如
'?'
'&


因为您使用的字符不是标准ASCII,所以应该将它们编码为Unicode。当您在Flash中调用顶级的
encodeURIComponent()
函数时,这会自动完成,并且每个输入的Unicode字符会有%xx个字符。

实际上有几个url编码/解码函数可用(在as3中)。每一个都有一点不同

看看这些:


以上是flex参考资料,我假设它们也可以在CS中使用。

如果在插入数据库时遇到问题,则需要确保该过程中涉及的所有内容都是utf8。如果您已经在phpmyadmin中测试了查询,并且运行良好,我建议您在php脚本中添加以下查询:

mysql_query("SET character_set_client=utf8", $connection);
mysql_query("SET character_set_connection=utf8", $connection);