いつもお世話になっております。
UTF-8でエンコードされたXMLのデータをWinInetのInternetReadFileで
読み込んでいます。
受信データをMSXML2.DOMDocumentオブジェクトでloadすると
パースエラーになってしまいます。
受信データをファイル出力してみたところ、一部文字化けしていました。
データに日本語があると文字化けするようなのですが、どういった原因が考えられるのでしょうか?
開発はVB6.0で行っております。
MSXMLのバージョンによって、文字コード判定に難がある場合もありますが、
UTF-8のファイルであれば、通常は問題ないはずですよ。
まず、XML DOMに渡したファイルが、ただしく「UTF-8のバイナリ」に
なっているかどうかを確認してください。もし、UTF-8以外に
変更されているなら、先頭のxml宣言に、正しい encoding の指定が
されているかを確認してみてください。
魔界の仮面弁士様、いつも本当にありがとうございます。
>まず、XML DOMに渡したファイルが、ただしく「UTF-8のバイナリ」に
>なっているかどうかを確認してください。
XMLデータの取得(InternetReadFile)をString型の変数に格納するようにしていたのですが、
バイト配列で取得する方法に変更しました。
前回「loadするとパースエラーになる」と書きましたが正しくは「loadXMLでパースエラー」だったので、
今度はバイト配列をloadしてみたところ、無事読み込みできました。
ありがとうございました!!
ツイート | ![]() |