webdn
 
  首页     免费截图     VIP会员区     广告Banner     技术文档     网站模板  
网站截图,网站每日新 !
买域名送空间
虚拟主机 域名注册

首页 >> WebDN 技术文档 >> 网站制作 >> Flash Action技术大全 >> Flash MX中文ID3乱码问题解决方案

 

Flash MX中文ID3乱码问题解决方案

【摘 要】
  针对云开的:---用AS2解决onID3的乱码---作了一点改进,可以在MX中使用。

改动:

- 将类封装成简单的function
- 运行前后不改变原来的 System.useCodepage 值

代码:

function ANSI2UTF(ANSI_string) {

 var temp = !(!System.useCodepage);

 System.useCodepage = true;

 var code = "";

 for (var i = 0; i<ANSI_string.length; i++) {

   code += "%"+ANSI_string.charCodeAt(i).toString(16);

 }

 var result = unescape(code);

 System.useCodepage = temp;

 return result;
}

使用示例:

my_sound = new Sound();

my_sound.onID3 = function() {

 var songName = ANSI2UTF(this.id3.songname);

 trace("result: "+songName);

};

my_sound.loadSound("music.mp3", false);

另外,在Flash帮助中有这样一段话:

在文档中请只设置一次 system.useCodepage 属性;不要为了使播放器将某些外部文件解释为 Unicode 并将另一些文件解释为其它编码,而多次使用该属性,原因是这样做会产生无法预料的结果。

看来这个函数可能会带来隐藏的问题,至于到底是什幺问题,我目前还没有遇到。解决mp3ID3乱码问题还有其它办法,比如建立utf-8和GB2312/Big5编码的映像表等,但是都没有这个简单。

现存的问题:

- 只能转换本地编码到UTF-8,即:简体系统读取繁体中文ID3仍然会有乱码,同理繁体系统也是
- 只能转换 ID3 V2.0,不能转 ID3 V1.0
- 只能转换ID3,对于更加广泛的txt等外部文本,转换方法仍然存在问题



电话咨询:010-60520722 QQ咨询:3792656   |   583696287   |   66733350 关于WebDN  |  站点地图  |  联系我们  |  支付方式  |  友情链接
© 2004-2008 WebDN.com 版权所有. 沪ICP备05040479号