当作为应用程序参数传递时,Flex +字符被替换为空白

时间:2011-02-22 22:12:27

标签: flex character-encoding flashvars

我将字符串参数传递给Flex应用程序作为FlashVars

param有时包含特殊字符,除了+符号外,一切都显示正常,当它到达flex时会被空格替换。

以下是例如

的情景

我在JS中有一个局部变量来获取一些值,对于这个例子,它可以被视为以下

<script language="JavaScript" type="text/javascript">   

    var testVar = "some_test_string_that_contains_+_character";

</script>

然后到我的Flex对象AC_FL_RunContent我传递"FlashVars","test="+testVar

在我编写的应用程序Init的flex代码中

var testValue:String = application.parameters["testVar"].toString();
Alert.show(testValue);

现在这显示正常,但+字符被替换为空白。与其他字符不同,例如/,@ $ -_,但+字符。

对此有任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

来自Adobe's docs

  

关于flashVars属性编码

     

flashVars属性的值   必须是URL编码。格式   string是一组名称 - 值对   由&符号(&amp;)分隔。您可以   逃避特殊和不可打印   带百分号的字符(%)   后跟一个两位十六进制数   值。你可以代表一个人   空格使用加号(+)。

进一步了解matthew号角中的一条评论,看起来您可以使用%2B来传递+字符。