PHP xml 解析錯誤
錯誤內容:
- simplexml_load_string(): input conversion failed due to input error
錯誤示例:
- xml 文件編碼為utf-8, 但 encoding中的編碼為 GB2312 (我自己就干了這樣的蠢事)
需要注意的點:
- php simplexml_load_string() 解析過程中會有二個字符編碼,需要保持一致
- xml 文件本身的字符編碼
- xml encoding中的編碼
code:
- 有時編碼一致之后,還會出現這種解析錯誤, 需要自己轉碼
$responseXml = file_get_contents("文件路徑");
// 替換空格
$replStr = str_replace(' ', '', "encoding=\"GB2312\"");
$responseXml = str_replace($replStr, "encoding=\"UTF-8\"", $responseXml);
// iconv 函數會有部分編碼轉換錯誤,mb_convert_encoding函數就沒有
$responseXml = mb_convert_encoding($responseXml, 'UTF-8', 'GB2312, GBK');
$simple = simplexml_load_string($responseXml);
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者