Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 编码url:%9A显示为?-菱形。。。如何让浏览器正确解释%9A_Flash_Browser_Encoding_Urlrequest_Navigatetourl - Fatal编程技术网

Flash 编码url:%9A显示为?-菱形。。。如何让浏览器正确解释%9A

Flash 编码url:%9A显示为?-菱形。。。如何让浏览器正确解释%9A,flash,browser,encoding,urlrequest,navigatetourl,Flash,Browser,Encoding,Urlrequest,Navigatetourl,我正在从flash生成一个url(用于facebook对话框): var lvs_url = "http://www.facebook.com/dialog/feed?app_id=208524139202627&name=š š&caption=&description=&link=http://apps.facebook.com/celjska_puzzle&redirect_uri=http://apps.facebook.com/celjska_p

我正在从flash生成一个url(用于facebook对话框):

var lvs_url = "http://www.facebook.com/dialog/feed?app_id=208524139202627&name=š š&caption=&description=&link=http://apps.facebook.com/celjska_puzzle&redirect_uri=http://apps.facebook.com/celjska_puzzle/"
var lvo_req : URLRequest = new URLRequest( lvs_url ) ;
navigateToURL( lvo_req , "_blank" );
但当url进入浏览器时,š已变成%9A,然后在facebook弹出窗口中显示为?-diamond

但是,浏览器可以使用%20


这是编码的url:

试试
encodeURIComponent

var lvs_url = "http://www.facebook.com/dialog/feed?app_id=208524139202627&name="+encodeURIComponent("š š")+"&caption=&description=&link=http://apps.facebook.com/celjska_puzzle&redirect_uri=http://apps.facebook.com/celjska_puzzle/";
var lvo_req : URLRequest = new URLRequest( lvs_url ) ;
navigateToURL( lvo_req , "_blank" );

发件人:

创建一个URLRequest对象

如果
System.useCodePage
true
,则使用 系统代码页,而不是Unicode

如果
System.useCodePage
false
,则使用 Unicode,而不是系统代码页

说:

必须首先根据UTF-8对非ASCII字符进行编码 [STD63],然后是相应UTF-8序列的每个八位组 必须进行百分比编码,才能表示为URI字符

这意味着
“š”
必须在URL中编码为
%C5%A1
。尝试将
System.useCodePage
设置为
false
,即使文档不明确,因为使用Unicode编码并不一定意味着
UTF-8


我还应该提到,如果您确实在文件中使用了
“š”
,则您的文件应保存为
UTF-8
编码。

0x9A
不是有效的UTF-8字节序列。你是怎么创造的?它应该是
%C5%A1
对于
š
,它显然是由flash AS3 var lvo_req:URLRequest=new URLRequest(lvs_url)创建的,因为它是一个š,但当它到达浏览器地址bar1-System.useCodePage=false时,它是一个%9A。。。没有帮助2-必须首先根据UTF-8[STD63]对非ASCII字符进行编码,然后对相应UTF-8序列的每个八位字节进行百分比编码,以表示为URI字符。。。很抱歉,我不知道这是什么意思3-这意味着“š”必须编码为%C5%A1。。。当我真的把它放到浏览器地址栏中时,它工作了,但当然我的URL是在flash中用各种字符动态生成的,所以我不能硬编码。@dsd你能澄清一下吗,它改变了什么吗?或者你是说它已经是假的了。您是否已将文件保存在UTF-8中?我的flash编辑/首选项/操作脚本/打开导入和保存导出设置为UTF-8。。。现在我正在阅读关于URLRequest.contentType…@dsd你的意思是你在设置
系统后仍然得到
%9A
。使用codepage
false
?@dsd我刚刚发现AS3应该有
encodeURIComponent
(与javascript相同),你可以试试看