找了这么多 总算找个还可以用的东西 浪费了一天的时间。
保存下来
Flex读取非UTF-8中文数据乱码问题的解决方案
Flex应用中经常要读取外部数据,一般情况下,对于读取编码是UTF-8的数据不会有什么问题,因为在Flex中默认的编码就是UTF-8。但遇到读取非UTF-8的数据时,会出现乱码的情况。这个时候需要对读取的内容进行一次转换,以便得到正确的显示。
下面这个例子将会提供一种转换的方法。
先来看代码:
<?xml version=“1.0“ encoding=“utf-8“?><application xmlns:mx="“http://www.adobe.com/2006/mxml“" width="“480“" height="“280“"><style>
Application{
fontSize: 12pt;
}
</style>
<script></script><panel title="“读取中文资源“" layout="“vertical“" width="“100%“" height="“100%“" paddingleft="“3“" paddingright="“3“" paddingtop="“3“" paddingbottom="“3“"><hbox><button label="“默认读取UTF-8数据“" click="“loadUTF8()“/"><button label="“默认读取GB数据“" click="“loadGB()“/"><button label="“转换读取GB数据“" click="“loadGBTrans()“/"></button></button></button></hbox><textarea id="“ta“" width="“100%“" height="“100%“" editable="“false“/"></textarea></panel></application>
uft8.txt是一个以UTF-8编码的中文文件。
gb2312.txt是一个以GB编码的中文文件。
这里只是使用txt文件作为例子,xml等文件格式是一样的。
使用URLLoader读取外部数据,在遇到中文非UTF-8编码的数据时出现乱码显示。
使用URLStream代替URLLoader后,在完成读取后使用readMultiByte()方法进行编码转换,就可以得到正确的显示。
上面的例子编译运行例子:http://ria.args.cn/uploads/2009/02/charactertest.swf
Flex读取非UTF-8中文数据乱码问题的解决方案 flex中文乱码
最新推荐文章于 2019-11-19 15:51:12 发布