·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3加载XML,PHP等不能显示中文,只显示英文的终极解决方案

时间:2013-04-05 14:07CuPlayer.com
很多提到FLASH加载XML不能显示中文问题。其实这个问题我曾经也遇到过。也采纳过一些朋友的方法。但是后来我真正搞明白后,我又觉得这些方法其实都不是最好最简单的方法。而有些虽然问题解决了

  很多提到FLASH加载XML不能显示中文问题。其实这个问题我曾经也遇到过。也采纳过一些朋友的方法。但是后来我真正搞明白后,我又觉得这些方法其实都不是最好最简单的方法。而有些虽然问题解决了,却使FLASH文件变的很大。现在我就我的了解把它较完整的分享给大家。当然不排别人也会有更好的方法。

  1.要把动态文本框设置系统支持的中文字体(通常是宋体或仿宋体等,其它的非系统需要引用)

  2.如果xml文档是存为Unicode编码的话要在第一帧里添加语句:System.useCodepage = true;如果是用utf-8编码则不能加,加了显示乱码 .GB2312编码的xml文件头改成 encoding='GB2312'。utf-8编码的则改为 encoding="UTF-8".保持对应。

  如果是自己写的,那么用1-2就可以解决了,可是如果是引用的,就可能要注意下面的步骤了。

  3.此种情况大多数出现在引用外国FLASH文件中。因为老外他们只用英文。所以通常都给字体做了定义。

  方法:检查对字体有定义的AS,删节或修改成中文字体。其二.在舞台上点击动态文本。在下面的面板中选中“嵌入”如图。选择“不嵌入”然后“确定”,也就是说你得把它嵌入的英文字体先去掉。

  本人不推荐在这里嵌入中文字体。非系统的特殊字体最后还是从外部调用字体比较节省资源。所以这个步骤只是为了清除其可能存在的英文设置。

  很多人都注意了前两个步骤。就是没有做到第三个步骤。所以很多人在不明情况的前提下教别人嵌入字体。文件很大不说。很多人同样也不一定能解决题。原因如上述,如果是人家只是嵌入的英文,并没有在AS中定义字体。你嵌入中文字体问题可以解决。但是文件变的好大。如果人家AS里面定义了,你嵌入中文字体也没有用。

  4.动态的文本只有动态的只能AS动态遮罩下才会起显示。语句:his.setMask(mascara)。静态的不管用。

5.这是一个传说中方法,因为本人基本上通过前4步,已经解决了问题。所以始终觉得这个步骤是可有可无的。辜且相信他有他的道理。

  就是通过”模糊滤镜”定义动态文本。但是参数是设置为0,什么道理就不得而知了。也许是对一些特殊字体有效吧。反正记下先,有备无患。但是对于没有滤镜功能的FLASH版本,那也真得是传说了。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器