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

[AS3]as3调用PHP输出XML结构的文件时出现乱码的解决方法(2)

时间:2012-10-12 17:59CuPlayer.com
4.PHP源文件不是UTF8编码的,要怎么生成让FLASH支持中文字符的XML呢?也就是我遇到的情况: PHP是ANSI保存的,使用DOM生成的XML自然也是ANSI的,这个编码的XML文件中若含有中文字符,即使声明编码为UTF-8,也无法

4.PHP源文件不是UTF8编码的,要怎么生成让FLASH支持中文字符的XML呢?也就是我遇到的情况:
  PHP是ANSI保存的,使用DOM生成的XML自然也是ANSI的,这个编码的XML文件中若含有中文字符,即使声明编码为UTF-8,也无法被正确读取。
  在这个前提下,要想FLASH正确读取XML不出现乱码,就必须设置encoding为GB2312。
  而PHP的DOM居然不能用GB2312写中文字符(不解,请达人指点迷津)?如果new DomDocument(’1.0′,’GB2312′);则在保存XML时会出错:“output conversion failed due to conv error, bytes 0xCE 0xD2 0x5D 0x5D”之类的。也就是说我这个ANSI的PHP只能生成声明为UTF-8而实际是ANSI的XML文件,这种文件当然FLASH读出来乱码(参照第3条)。
  解决办法:
  在PHP用UTF-8的声明生成了XML后,加了一步操作:打开XML文件改写头部声明把UTF-8替换为GB2312。嘿嘿,FLASH,IE,FF都不出错了!
 

热门文章推荐

请稍候...

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

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