flash解决中文mp3乱码问题

点评:如果闪存MP3的ID3标签使用GB2312编码,那么Flash脚本输出是乱码
代码1
声音=新声音(这个);
s.loadsound(MP3 寒。
s.onid3 =函数(){
微量(这个ID3。songname);
}


输出结果如下:
IExcl;


对自动MP3 ID3v1标签是正确的。




如果闪存MP3的ID3标签使用GB2312编码,那么Flash脚本输出是乱码
代码1
声音=新声音(这个);
s.loadsound(MP3 寒。
s.onid3 =函数(){
微量(这个ID3。songname);
}


输出结果如下:
IExcl;


寒。MP3 ID3v1标签应该songname =丁香让我们看到的songname柱的底部是什么


代码2:


声音=新声音(这个);
s.loadsound(MP3 寒。
s.onid3 =函数(){
无功songname:字符串this.id3.songname;
对于(var i = 0;i < songname.length;我){
微量(songname.charcodeat(我));
}
}
输出结果如下:
一百八十二
一百六十一
二百零七
二百二十七
一百八十七
一百六十八
我们用计算器转换为16系统是B6 A1 cf E3 BB A8 ;
这就是丁香 GB2312编码



系统usecodepage =真;
微量(unescape(丁香花));
输出结果如下:
丁香花


为什么代码1是凌乱的,因为Flash介绍GB2312为utf - 8,我们将再次测试:


代码3:



声音=新声音(这个);
s.loadsound(MP3 寒。
s.onid3 =函数(){
无功songname:字符串this.id3.songname;
微量(逃避(songname));
}
结果是:

我们找到了问题的原因,只要我将转换成utf8编码可以是正常的,但如果转换,我们注意到2码,我测试我的思想


代码4:



系统usecodepage =真;
VaR GB:字符串unescape(丁香花);
系统。usecodepage = false;
跟踪(GB);
跟踪(逃离(GB));
输出结果:
丁香花
新兴胡安