2012-06-16 45 views
-3

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

error screensohot

我的证书,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 
} 

}

回答

0

你应该URL以顶级功能encodeURI()编码您的网址。然后在swf中从URL中提取名称使用decodeURI()