【发布时间】:2011-02-23 08:45:05
【问题描述】:
我正在尝试加载解析 Google Weather API 响应(中文响应)。
Here 是 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,表示编码 !字节:0xB6 0xE0 0xD4 0xC6 输入 C:\htdocs\weather.php 第 11 行
为什么加载此响应失败?
如何对响应进行编码/解码,以便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,表示编码 !字节:0xB6 0xE0 0xD4 0xC6 输入 C:\htdocs\test4.php 第 3 行调用 堆 时间记忆功能位置 1 0.0020 314264 {main}( ) ..\test4.php:0 2 0.1535 317520 simplexml_load_string (字符串(1364))..\test4.php:3
( !) 警告:simplexml_load_string() [function.simplexml-load-string]: t_system 数据="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 (字符串(1364))..\test4.php:3
【问题讨论】:
标签: php simplexml google-weather-api