2016-10-13 00:16:48 点击量:7 标签: 收藏本文
PHP输出XML结构代码示例
- <?php
- header('Content-Type: text/xml');
- include"../config.inc.php";
- $obj = new dbConnection();
- $sql = "select * from CuPlayer_com order by Data_time limit 100";
- $result = $obj -> Connection($sql);
- $xml="";
- while($arrRow = mysql_fetch_assoc($result)){
- $xml .= "<union_data>\n";
- $xml .= "<Data_id>".$arrRow["Data_id"]."</Data_id>\n";
- $xml .= "<Data_pianming>".$arrRow["Data_pianming"]."</Data_pianming>\n";
- $xml .= "<Data_bieming>金刚</Data_bieming>\n";
- $xml .= "<Data_leibie>2</Data_leibie>\n";
- $xml .= "<Data_leixing>27</Data_leixing>\n";
- $xml .= "<Data_diqu>美国</Data_diqu>\n";
- $xml .= "<Data_daoyan>导演</Data_daoyan>\n";
- $xml .= "<Data_zhuyan>主演</Data_zhuyan>\n";
- $xml .= "<Data_shouying>2006</Data_shouying>\n";
- $xml .= "<Data_pianchang>120</Data_pianchang>\n";
- $xml .= "<Data_jishu>1</Data_jishu>\n";
- $xml .= "<Data_peiyin>英语</Data_peiyin>\n";
- $xml .= "<Data_zimu>极酷</Data_zimu>\n";
- $xml .= "<Data_shuoming></Data_shuoming>\n";
- $xml .= "<Data_miaoshu>极酷酷播网页播放器CuPlayer.com</Data_miaoshu>\n";
- $xml .= "<Data_zhuangtai>0</Data_zhuangtai>\n";
- $xml .= "<Data_haibao>61465148.jpg</Data_haibao>\n";
- $xml .= "<Data_dianji>1</Data_dianji>\n";
- $xml .= "<Data_tuijian>1</Data_tuijian>\n";
- $xml .= "<Data_shenhe>1</Data_shenhe>\n";
- $xml .= "<Data_lurenzhe>admin</Data_lurenzhe>\n";
- $xml .= "<Data_gengxintime>2009-02-23 17:47:56</Data_gengxintime>\n";
- $xml .= "<Data_tianjiatime>2009-02-23 15:32:50</Data_tianjiatime>\n";
- $xml .= "</union_data>\n";
- }
- //echo $xml;
- //exit;
- echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
- echo "<data>\n";
- echo $xml;
- echo "</data>";
- ?>
1.确信XML绝对没有问题的情况:
首先,flash读取xml出现乱码涉及到System.useCodepage这个静态属性属性
官方描述:“A Boolean value that tells Flash Player which code page to use to interpret external text files.”默认为false。
倘若我们使用UTF8编码的外部文本文件,都不用管它,使用非UTF8编码文本文件且文本中出现中文字符的话,则需要设置其为true方能让flash读出字符不乱码。
AS3中可先import flash.system.System;然后设置System.useCodePage=true;
2.希望PHP生成UTF-8编码的XML:
要想在XML中存在中文字符,最好使用UTF-8编码。在使用DOM创建XML前声明为$dom_XML = new DomDocument(’1.0′,’UTF-8′);第二个参数对应XML文档声明部分的encoding值。但是注意:这仅仅是声明的编码,最后使用$dom_XML->saveXML();实际生成的xml文件却是和PHP脚本源文件编码格式相同,即“你的PHP是什么编码,生成的文件即什么编码。”
3.XML文件声明编码为UTF-8 ,flash中无论useCodepage设为何值读取都还是乱码
经常会遇到这种情况,通常是因为:虽然声明部分是UTF-8,但文件本身却不是UTF-8的(我自己就是ANSI编码的,汗)。
那将会导致一个严重的问题:Firefox浏览器可以正常解释XML,但IE(包括TT等IE内核浏览器)却提示存在错误的字符,Flash也显示乱码!
这种情况处理方法有二:
把XML声明部分改成非UTF-8的,比如GB2312,然后设置FLASH的useCodepage=true;把XML用记事本打开,使用“另存为”命令保存为UTF-8的即可
也就是让编码声明与文件本身编码匹配,不能名不符实。
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室