首页 > 代码库 > 一次性解决HTML向Flash传递参数时的乱码问题

一次性解决HTML向Flash传递参数时的乱码问题

今天下午想使用HTML向Flash传递两个参数,一直遇到错误。这里总结一下:

错误一:

<param name="flashvars" value=http://www.mamicode.com/‘&symc=unit1.mp3&lrcmc=unit1.lrc‘/>

这样传进去得到的结果是1.3和1.

错误二:

<param name="flashvars" value=http://www.mamicode.com/encodeURIComponent(‘&symc=unit1.mp3&lrcmc=unit1.lrc‘)/>

得到的结果与上面相同。


后来高人传授了中英文都支持的方法,这里记录下来:

方法一:(注意是&amp;)

<param name="flashvars" value=http://www.mamicode.com/‘&symc=unit1.mp3&lrcmc=unit1.lrc‘/>

<param name="flashvars" value=http://www.mamicode.com/‘&symc=中国人.mp3&lrcmc=中国人.lrc‘/>

得到的结果是:

unit1.mp3和unit1.lrc

中国人.mp3和中国人.lrc


方法二:

http://www.hds8.com/mp3/SimpleMP3Reader.swf?&symc=unit1.mp3&lrcmc=unit1.lrc

http://www.hds8.com/mp3/SimpleMP3Reader.swf?&symc=中国人.mp3&lrcmc=中国人.lrc

得到的结果是unit1.mp3和unit1.lrc


得到的结果是:

unit1.mp3和unit1.lrc

中国人.mp3和中国人.lrc


另外在as3中的接收数据程序是这样写的:

var flashvars:Object = root.loaderInfo.parameters;
symc_txt.text=flashvars["symc"];
rjmc_txt.text=flashvars["lrcmc"];


一次性解决HTML向Flash传递参数时的乱码问题