快速业务通道

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

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-12


针对云开的用AS2彻底解决onID3的乱码-深入Flash编码转码机制!作了一点改进,可以在MX中实用

改动:

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

代码:

function ANSI2UTF(ANSI_string) {
var temp = !(!System.useCodepage);
System.useCodepage = true;
var code = "";
for (var i = 0; i code += "%"+ANSI_string.charCodeAt(i).toString(16);
}
var result = unescape(code);
System.useCodepage = false;
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,对于更加广泛的txt等外部文本,转换方法仍然存在问题
关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号