关于Flash加载无Bom的Unicode文件报错问题
作者:bestmax 日期:2009-04-21
Flash要兼容非Unicode外部文件的正确读取,一般设置System.useCodePage = “true”
但此时如果你的文件是Unicode,如utf-8,而没有BOM(http://www.unicode.org/faq/utf_bom.html#BOM)
则flash载入解析为XML时将报错:TypeError: Error #1090
因为其中的中文等字符成了乱码,不能正确读取XML结构,故解析错误
一般情况用记事本等编辑工具保存为utf-8编码时会自动在头加上BOM:
utf-8的BOM为:EF BB BF
用服务端语言生成utf-8编码的xml时,如asp,并没有自动添加BOM,导致flash不能加载动态xml数据
这里可在asp文档开头强制写入一个BOM:
<%
Response.BinaryWrite(ChrB(239))
Response.BinaryWrite(ChrB(187))
Response.BinaryWrite(ChrB(191))
%>
如果php或其他也出现类似情况,请做相应处理,或采用非Unicode,如gb2312
PHP:
$text=”\xEF\xBB\xBF”.$text;
评论: 1 | 引用: 0 | 查看次数: -
发表评论
上一篇
下一篇

文章来自:
Tags:
大概是播放器升级了。
去掉System.useCodePage = “true”,无论utf8有没有bom,flash都能正确加载。