我正在尝试加载解析 Google Weather API 响应(中文响应)。
这是 API 调用。
// This code fails with the following error
$xml = simplexml_load_file('http://www.google.com/ig/api?weather=11791&hl=zh-CN');
(!)警告:simplexml_load_string()[function.simplexml-load-string]:实体:第1行:解析器错误:输入不正确的UTF-8,表示编码!字节:第 11 行 C:\htdocs\weather.php 中的 0xB6 0xE0 0xD4 0xC6
为什么加载此响应失败?
如何对响应进行编码/解码以便simplexml
正确加载它?
编辑:这是代码和输出。
<?php
$googleData = file_get_contents('http://www.google.com/ig/api?weather=11102&hl=zh-CN');
$xml = simplexml_load_string($googleData);
(!)警告:simplexml_load_string()[function.simplexml-load-string]:实体:第1行:解析器错误:输入不正确的UTF-8,表示编码!字节:第 3 行 C:\htdocs\test4.php 中的 0xB6 0xE0 0xD4 0xC6 调用堆栈时间内存函数位置 1 0.0020 314264 {main}( ) ..\test4.php:0 2 0.1535 317520 simplexml_load_string ( string(1364) ) ..\test4.php:3
( ! ) 警告:simplexml_load_string() [function.simplexml-load-string]: t_system data="SI"/>
( ! ) 警告:simplexml_load_string() [function.simplexml-load-string]: ^ in C:\htdocs\test4.php 第 3 行调用堆栈时间内存函数位置 1 0.0020 314264 {main}( ) ..\test4。 php:0 2 0.1535 317520 simplexml_load_string (string(1364)) ..\test4.php:3