解決php array數組生成xml文件漢字編碼問題
來源:程序員人生 發布時間:2014-06-01 09:04:03 閱讀次數:2433次
漢字在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{
-
-
-
- if (preg_match("/([x81-xfe][x40-xfe])/", $value, $match)) {
- $value = iconv('gbk', 'utf-8', $value);
-
- }
- $xml->addChild($key, $value);
- }
- }
- return $xml->asXML();
- }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈