« そろそろお風呂に入らないと | メイン | 2007年はじめの食事 »
2007年01月01日
IE で UTF-8 の含まれる XML が表示されなかったら
Simple FON Maps の XML を生成するときに、なぜか IE でエラーが出る場合がありました(日本語以外のマルチバイト文字が含まれる場合)。
テキストの内容に無効な文字が見つかりました。
IE で XML を表示しようとすると、このようなエラーが出ました。律儀なことに JavaScript 経由でもデータを読み込んでくれません。他のブラウザ Firefox, Opera では、何のエラーも出ずに読み込めたのですが…。
サポートページを調べてみると、出力データに言語仕様によって定義された有効な XML 文字範囲を超えた内容が含まれるようです。すなわち、制御文字などが混ざっているようです。
utf8::decode($str); utf8::encode($str);
このように UTF-8 フラグを ON にしてから OFF にすれば解決しました。不要なバイナリを除去してるのだろうか…。そもそも、文字列を UTF-8 として扱うと決めているのであれば、フラグを ON にしておいた方がいいのかな。
とりあえず動くようになったからいいのですが、もう少し細かい部分を調べる必要がありそうです。
【関連記事】
・Simple FON Maps を Google Earth に対応 (2006年12月31日)
【関連情報】
・PRB:下位文字が XML ドキュメントに含まれる場合、エラー メッセージ
http://support.microsoft.com/kb/315580/ja
2007年01月01日 23:51 | Programming