快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

针对云开的用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等外部文本,转变方式仍旧存在问题

到论坛讨论


返回类别: Flash教程
上一教程: Macromedia FlashPaper 2 应用实例剖析
下一教程: Flash 8 中文版视频教程(18)效果--投影

您可以阅读与"中文ID3乱码问题MX解决方案"相关的教程:
· Flash与后台编码问题解决新方案
· 用AS2解决中文ID3的乱码
· Flash内置类Sound的一个小问题及解决方式
· 终极解决方案:在多个场景中实现任意跳转
· MP3不能顺利导入FLASH 问题解决办法
    微笑服务 优质保证 索取样品