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