ActionScript で日本語コード変換[AIR/Flex]
(2009-01-27 02:32:32) by shinoda


まいった。(^^;

ActionScript で日本語コード変換でハマってます。
この糞忙しいのに、今日一日を棒に振ってしまったぁぁぁぁぁ・・・

WEB2MEMOで公開されている日本語文字コード変換ライブラリ『Jcode』を使って変換しようと思ってるのだがうまくいかん・・・

例えば、↓こんな感じで、Shift_JIS で書かれている HTML ソースを取ってきて、Shift_JIS→UTF-8 変換を行って表示したいとすると、

import com.web2memo.text.Jcode;

private function startProc():void {

    var req:URLRequest = new URLRequest("http://www.exsample.jp/index.html");
    var loader:URLLoader = new URLLoader(req);
    loader.addEventListener(Event.COMPLETE,loadComp);
    
}

private function loadComp(evt:Event):void{

    var loader:URLLoader = evt.target as URLLoader;

    var byteArray:ByteArray = new ByteArray();
    byteArray.writeMultiByte(loader.data, "shift_jis");

    var enc:String = Jcode.getInstance().detectEncode(byteArray);
    trace("EncCD=" + enc);

    var src:String = Jcode.getInstance().SJIStoUTF8(byteArray);
    trace("Source=" + src);

}

・・・で良いのかと思ったら、EncCD は EncCD=Shift_JIS と表示されるけど、src は化け化けで表示される。
Jcode.getInstance().SJIStoUTF8(byteArray) が効いてないということか。

例えば、

<!----- デジタルパンフレット用追加スクリプトここから----->
 ↓
<!----- ?f?W?^???p???t???b?g?p??A?X?N???v?g?±?±?c?c----->

こんな具合だ。

うーむ・・・わからん。

何かの間違いでたまたまこのブログに流れ着いた識者の方。ぜひご教示くださいませ。(^^;

ちなみに日本語変換が必要だと思ったのは、Shift_JIS や EUC-JP で書かれた「狂った」RSS フィードに対応するため。
でも、そもそも、RSS フィードを Shift_JIS や EUC-JP で書くのがおかしいんだから、本当は対応しなくても良いんだよな。

ちゅーことで、水曜日中には動く形にしたいので、取りあえず UTF-8 のみ対応の形で良いだろう。(それで、99.9% の RSS フィードは読めるはずだから)


ActionScript用日本語文字コード変換ライブラリ『Jcode』
http://web2memo.blog120.fc2.com/blog-entry-221.html


コメント(6)
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8