262008
 

前几天在摆弄一个玩意儿,需要从服务器(使用URLLoader)读取一个XML文档,GBK编码的。
读取过来要对这个XML文档进行解析,解析是没问题的。
不过一显示就发现问题了,中文部分是乱码的。
OK,那就执行flash.systen.System.useCodepage=true吧。
trace一下
中文显示没问题。
不过很奇怪的是,传过来的XML末尾被附加上了几个莫名其妙的字符。
在 var xmlDoc:XML=new XML(event.target.data);的时候
报了”TypeError: Error #1095: XML 分析器失败: 属性未结束。”。
那我就想着把后面的那几个奇怪的字符截掉:)
就这样写
var xmlDoc: = new XML(event.target.data.substring(0, event.target.data.lastIndexOf(””) + 7).toString());
无奈,还是不行。
因为要读取的XML文件有点庞大,有将近16K。因为提示的是“XML 分析器失败: 属性未结束
所以就有点怀疑,是不是没有一次性读完。
很有意思的是,在我执行了一次
XML.ignoreWhiteSpace=true之后。
问题变得奇怪起来,时好时坏的,有时候可以正常解析,有时候又会出错。
但是更奇怪的是,我把生成的swf文件放到我的博客服务器上,却100%正常。真是无语了。莫非是我的网络有问题。
所以有点将错就错了。本地的不管了。直接放到服务器上了。。。
不过有点怀疑,这又是一个Bug~

期间参考了两篇文章,非常值得借鉴

蓝色理想上的:彻底解决乱码升级版….

*这篇帖子提到的使用URLStream,这个思路的确是之前没想到的。:)很好,很强大!

Nabble上的。
Special characters after end tag of XML document (HTTPService issue)

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>