代码之家  ›  专栏  ›  技术社区  ›  WillDonohoe

用中文字符将get变量从flash传递到php

  •  3
  • WillDonohoe  · 技术社区  · 14 年前

    我从flash调用一个php文件,然后添加变量,如下所示: http://www.randomwebsite.com/something.php?title=爸爸

    如果我把它直接复制并粘贴到Web浏览器中,就可以了,但是如果我通过flash调用它,地址栏最终会变成这样:something.php?标题=??

    我能从php或flash对字符串进行编码/解码吗? 非常感谢您的帮助。

    谢谢, 威尔

    编辑: 谢谢,伙计们,那个方法很管用。一切都很好地反映出来,但是我现在有一些问题,通过MySQL将信息插入数据库,我的所有字段都设置为UTF-8。我有一些奇怪的汉字,而不是汉字。

    多谢, 威尔

    5 回复  |  直到 13 年前
        1
  •  1
  •   Drew Rich    14 年前

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

    mysql_query("SET character_set_client=utf8", $connection);
    mysql_query("SET character_set_connection=utf8", $connection);
    
        2
  •  3
  •   bobince    14 年前

    您需要对输入到查询字符串中的参数进行URL编码。而iris可以包含一个文本 爸 ,uri不能。它应该编码为 %E7%88%B8 . (通常仍将显示为 __ 在地址栏中,但在某些情况下,例如。)

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

        3
  •  0
  •   svens    14 年前

    见RFC1738 2.2( http://www.faqs.org/rfcs/rfc1738 ,需要对字符串进行编码。 我不知道如何在flash中实现这一点,但是php提供了函数(raw-)urlencode()和(raw-)urlecode()来实现这一点。

        4
  •  0
  •   Cameron    14 年前

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

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

        5
  •  0
  •   andkrup    14 年前

    实际上有两个URL编码/解码功能可用(在AS3中)。两者都有点不同。

    看看这些:

    上面是来自flex参考的,我假设它们也可以在cs中使用。