ActionScript3.0のバグについてメモ
useCodepageとかも無意味です。
データ量が比較的多めのXMLで文字コードがShift-JISのものは、AS3では正しくパースできない読み込まれないことがあるようです。
成功する場合もあれば、失敗する場合もあります。
失敗した場合は、
「1088ルートエレメントに続くドキュメントのマークアップは整形式でなければなりません。」
というランタイムエラーが発生します。
失敗した場合、XMLが読み込まれた時点でXMLを出力すると、最後に謎の文字列が追加されていました。
これは、、困りましたね(笑)
追記
useCodePage = trueをfalseにするともちろん文字化けは起こりますが、謎の文字列が付与されることはなくなりました。
AS3でShift_JISを取り扱うこと自体にバグがあるようですね。
XMLについてのみ言及していましたが、テキストファイルなどでも同様のバグがあります。
また、サイズの少ないファイルにおいてこのエラーは発生しません。
どうしてもShift_JISファイルの読み込みが必要な場合は、useCodePage=trueにはせず、ファイルパスをphpなどに渡して、エンコードした文字列を受け取る形が良さそうです。

Leave a comment