« VisualStudio2005for WM5.0の最適化バグ? | トップページ | カーリングにはまる - その2 - »

2006.03.27

カーリングにはまる - その1 -

さて,世間ではAjaxらしい。
ただ,どうも,XMLってのは好きになれない。
ってことで,タブ区切りのプレーンテキストにする。
これくらいなら,JavaScriptでもsplit("\n")&split("\t")で簡単に変換できる。
ってことでデータはそんな感じで定義してやった。動作もうまくいく。しかし,文字化けする。
HTTPは,XMLHTTPでとってきて,responseTextするとなんか文字化け。
XMLなら文字コードをちゃんと変換してくれて問題ないんだろうけど,textだとダメらしい。ベースとなるHTMLもShift_JISなんで,そのtextもそうだと思って変換してくれればいいんだけど。

次に,responseBodyをいじってやろうかと思ったけど,こいつもVARIANT配列か何かで,JavaScriptだとうまくアクセスできない。ということで,VBScriptを介す必要がある。JavaScriptからでも,VBScriptで書いた関数が呼べるんで,そうしておく。
VBScriptはあまり好きじゃないんで,組み込み関数がよくわからん……ChrやらChrBとかあるけどイマイチ区別が……
#長さ変換を間違えたり

で,色々間違えながら,下記のコードでShift_JIS→UNICODE(?)に変換関数を実装した。
#半角カナは抜けるけど,とりあえず使うなってことで……

Function fromSJIS(s)
Dim i, r, c
For i=1 To LenB(s)
c = AscB(MidB(s,i,1))
if c<128 Then
r = r & Chr(c)
Else
r = r & Chr(256*c+AscB(MidB(s,i+1,1)))
i = i+1
End if
Next
fromSJIS = r
End Function
で,メインのJavaScriptからは,↓な風に読んでやる。
responseText = fromSJIS(http.responseBody);
読み込み変換はとりあえず成功。
でも,これだとIE以外だと全く動かないよね……
いっそのこと,XMLにして,<r><![CDATA[…]]></r>にしてしまうか。

|

« VisualStudio2005for WM5.0の最適化バグ? | トップページ | カーリングにはまる - その2 - »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/3881/9285435

この記事へのトラックバック一覧です: カーリングにはまる - その1 -:

» カーリングにはまる - その2 - [UK-taniyama's cocolog]
さて,XMLHTTPで遊ぶ続き。Opera(Windows)動くようになった。O [続きを読む]

受信: 2006.03.27 23:41

« VisualStudio2005for WM5.0の最適化バグ? | トップページ | カーリングにはまる - その2 - »