-3

我使用 Flash as3 开发了一个 Facebook 应用程序。在此应用程序中,当用户完成测试时,证书 URL 会发布在用户墙上。url 使用土耳其字符用户名和用户姓氏进行编码。在证书 swf 文件中,它读取 url 并在 jpg 上显示用户名。这对英语用户很有用,但是当用户名是土耳其语时问题就来了。我附上了主要问题的 jpg,您可以清楚地看到 url 看起来不错,但是当我复制过去 url 时,我得到的结果与图片上显示的结果相同。

错误截图

我的证书 Swf 代码是

package  {

import flash.display.MovieClip;
import flash.net.URLLoader;
import flash.net.URLVariables;
import flash.external.ExternalInterface;
import com.adobe.images.JPGEncoder;


public class main extends MovieClip {


    public function main() {
        valuePairs = new Array();
        nextValuePare = new Array();

        var search:String = ExternalInterface.call("window.location.href.toString");


        //var vars:URLVariables = new URLVariables(search);

        valuePairs = search.substring(search.indexOf("?")+1).split("&");
        trace(valuePairs);
        var map:Object = new Object();
        for (var i:int = 0; i<valuePairs.length; i++)
        {
            nextValuePare = valuePairs[i].split("=");
            trace(nextValuePare);
            map[nextValuePare[0]] = nextValuePare[1];
        }

        picture.fbookName.text = String(map["fName"]) +" "+ String(map["lName"]);



    }

    private var _urlLoader:URLLoader;
    private var _urlVariable:URLVariables;
    private var valuePairs:Array;
    private var nextValuePare:Array
}

}

4

1 回答 1

0

您应该使用顶级函数encodeURI()对您的 URL 进行 URL 编码。然后在从 URL 中提取名称的 swf 中使用decodeURI()

于 2012-06-16T23:11:02.517 回答