アプリ版:「スタンプのみでお礼する」機能のリリースについて

simple_xml_load_fileを使ってXMLを読み込んでいるのですが、読み込みの時点でエラーが出てしまいます。

Warning: simplexml_load_file() [function.simplexml-load-file]: input conversion failed due to input error, bytes 0xAD 0xB5 0x3C 0x2F

↑こんな感じです。
原因を探ったところ、XMLファイルのデータ中にローマ数字(I、II、・・)があるとこのようになることが分かりました。
ちなみにsimplexml_load_stringを使用してもほぼ同様のエラーが発生しました。
ローマ数字入りのXMLファイルを読み込むことはできないのでしょうか?ご存じでしたら知恵を拝借したいのですが・・・。

※SAX、DOMでも読み込めず(T_T)

A 回答 (1件)

いくつか方法があります。



・XML文書のEncoding指定を、EUC-JPからeucJP-winにする。
 <?xml version="1.0" encoding="EUC-JP"?>
 →<?xml version="1.0" encoding="eucJP-win"?>
 (ローマ数字は13区 NEC特殊文字で、EUC-JPには含まれない文字ですが、eucJP-winには含まれています)。

・XML文書内のI、IIなどの文字を実体参照化する。
 <name>ほげI</name>
 →<name>ほげⅠ</name>
 <name>ふぉII</name>
 →<name>ふぉⅡ</name>

#上記は、<>&を全角で書いてますが、適宜半角にしてください。
    • good
    • 0
この回答へのお礼

返事遅くなりました。すいません。
結論としてファイル内容を読み込んで、UTF-8からUTF-8へエンコードをかければそのまま取得することができました。
ありがとうございました。

お礼日時:2007/01/01 20:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!