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 ではありません。エンコーディングを示してください! バイト: 0xB6 0xE0 0xD4 0xC6 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
( ! ) 警告: simplexml_load_string() [function.simplexml-load-string]: t_system data="SI"/>
( ! ) 警告: simplexml_load_string() [function.simplexml-load-string]: C:\htdocs\test4.php の ^ 行 3 Call Stack Time Memory Function Location 1 0.0020 314264 {main}( ) ..\test4. php:0 2 0.1535 317520 simplexml_load_string (文字列(1364)) ..\test4.php:3