まいった。(^^;
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