投稿者 |
メッセージ |
|
< PHPプログラミング ~ [質問] SimpleXMLでのparser errorの対処方法 |
|
時間:
火 12月 13, 2005 12:25 pm
|
|
|
|
はじめまして。
このサイトでXAMPPを知り、ローカルで勉強がてらamazonウェブサービスを利用するアプリを書いています。
その中で SimpleXMLを使用しようと思っていたのですが、parser errorが発生することがあり対処できずにいます。
原因や対処などご存知の方がおられましたらお教えください。
例えば、以下のコードを実行すると、simpleXML_load_fileの行でparser errorがでます。
(phpコードの保存は UTF-8で行っています。)
Code: |
<?php
$keyword = "む";
$baseurl = "http://webservices.amazon.co.jp/onca/xml".
"?Service=AWSECommerceService".
"&Operation=ItemSearch&Keywords=";
$filename= $baseurl.urlencode($keyword);
print $filename. '<br/>';
$xml=simpleXML_load_file( $filename );
?>
|
Warning表示の抜粋は次のとおりです。
Code: |
parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xE3 0x82 0x5F 0x22
|
「む」の文字コードは 0xE3,0x82,0x80であり、アマゾンからのレスポンスの一部に含まれます。
見た限りでは正常な文字コードで返ってきているように見えるのですが、parser errorとなります。
どうも、文字コード内に0x80を含むものが怪しい模様です。
[実行環境・設定]
XAMPP version 1.5.0-pl1 (WindowsXP), PHP 5.0.5
Code: |
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0
|
以上、アドバイスよろしくお願いします。 |
|
|
|
|
|
|
|
時間:
水 12月 14, 2005 10:41 am
|
|
|
|
simpleXMLのバグかもしれませんね。
他のpearモジュールなどで試してみましょう。 |
|
|
|
|
|
|
|
時間:
金 12月 16, 2005 11:15 pm
|
|
|
|
レスありがとうございます。
原因究明の前に、XAMPPのベータ版を入れて試したところ、質問の現象は発生しなくなりました。
とりあえずコードを走らす分には問題がなくなり自己満足しています。
環境を戻すようなことになれば、そのときに改めて調べるようにします。 |
|
|
|
|
|
|
|
|
新規投稿: 不可 返信: 不可t 自分の記事の編集: 不可 自分の記事の削除: 不可 投票への参加: 不可
|
|