解决php array数组生成xml文件汉字编码问题
汉字在php应用中经常会给我们带来一些麻烦,今天在网上找到一段array数组转换成xml时发现汉字就为空了,后来gg了关天得出比较好的结果了,下面与大家分享,在 php 数组转xml我们在php中学会这样来写:
function array2xml( $array , $xml = false){ if ( $xml === false){ $xml = new SimpleXMLElement( '<root/>' ); } foreach ( $array as $key => $value ){ if ( is_array ( $value )){ array2xml( $value , $xml ->addChild( $key )); } else { $xml ->addChild( $key , $value ); } } return $xml ->asXML(); } header( 'Content-type: text/xml' ); print array2xml( $array );当内容出现汉字时会出现为空的情况,解决办法是转编码处理,代码如下:
function array2xml( $array , $xml = false){ if ( $xml === false){ $xml = new SimpleXMLElement( '<root/>' ); } foreach ( $array as $key => $value ){ if ( is_array ( $value )){ array2xml( $value , $xml ->addChild( $key )); } else { //$value=utf8_encode($value); if (preg_match( "/([x81-xfe][x40-xfe])/" , $value , $match )) { $value = iconv( 'gbk' , 'utf-8' , $value ); //判断是否有汉字出现 } $xml ->addChild( $key , $value ); } } return $xml ->asXML(); }查看更多关于解决php array数组生成xml文件汉字编码问题 - php数的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did31139