swfmillとFLASHLITE

2010年1月7日
By 石間

昨日はFLASHLITEをswfmillでいじるのに思いきりハマってしまった。

結果的には文字コードの問題だった。KLabの記事によると、日本語を含むFlash Lite 1.xのswfファイルをswfmill swf2xmlしてみたところ、”error : xmlEncodeEntitiesReentrant : input not UTF-8“というエラーメッセージがでて、xmlファイルの出力が途中で止まってしまうのは、Flash Lite 1.xで日本語swfの中の文字コードはcp932、Flash Lite 2.x以降のswf内文字コードはUTF-8のために起こるようだ。

swfmillがlibxml2を利用するときはかならずUTF-8になるため、cp932の文字コードの入ったswfファイルを扱えば文字が化ける。もっともな理屈です。

上記のKLabのサイトではこのcp932に対応したWindowsで利用できるバイナリも用意してくれていたので試してみました。swfmill利用時に -e cp932 オプションを付けるだけです。

すると私が扱っているswfファイルでは以下のようなことになりました。

・SWFからXMLファイルの生成はできる

・画像の入れ替えはできた

・一部文字が化けました。(「修」という文字から先の文字列)

・urlのリンク先変更ができない。

自分の環境でビルドしないと問題は解決しないのだろうか・・・。

その他参考URL:

http://tmty.jp/2009/04/16/generate_flash_lite_on_server/
http://d.hatena.ne.jp/haru-komugi/20090213/1234541317

人気度: 13%

Tags: ,

Comments are closed.