toytoycy/LOG

子供とF1と機械とゲームと……あとなんだっけ?
JavaScript:フォームのエンコードを牛耳る
最近prototype.jsでプログラミングする機会が多いのですが(いつのまにか1.5.0になってるし…)、Form.serializeするときの処理でちょっとつまづいたのでメモっときます(主に自分用)。

便利なのでよくForm.serializeを使っているんですが、EUCで書かれたページでもなんでもマルチバイト文字をエンコードした際にはUTF-8になってしまいます(コレで3時間悩んだ)。
ソースを追っていくと「encodeURIComponent」という関数にあたりますが、JavaScriptのどこかのバージョンから実装されたもので、こいつが自動的にUTF-8に変換してエスケープしてるためにprototype.jsもこうなっているようです。

サーバ側で変換をかけるのもアリですが、面倒なんでJavaScript側で自作するかーと思い調べていたらエンコード関連をまとめたライブラリを発見しました。すごい!
これで枕を高くして眠れます(笑)。


参考文献)
prototype.js v1.5.0 の使い方

AjaxでShift_JISやEUC-JPは使えるのか?-1- responseText編
Posted by toytoycy | プログラミング | 01:26 | comments(2) | trackbacks(0)
コメント
こういうのを読んで
一緒に「すげー」って言える人になりたい今日この頃
 #というか、ここ数年

どこからはじめたらいいか、皆目検討もつきません…
| しょう | 2007/01/23 1:02 AM |

何か作りたいものがあればすぐ覚えられるんじゃないかなーという自論。10年前にPerlを覚えたきっかけは掲示板を自作したいからでした。

ちなみにこのライブラリ、内部で文字コード順にデータを持ってるんですが、遅いマシンだとそこの展開で10秒ぐらいまたされて使えませんでした…というわけでサーバ側での変換に戻してます。時間あるときにうまく切り出して使おうと思います。
| toytoycy | 2007/01/27 10:42 PM |

コメントする









トラックバックURL
http://blog.toytoycy.net/trackback/619861
トラックバック

prev next

PROFILE
Google
    123
45678910
11121314151617
18192021222324
25262728293031
<< July 2010 >>
COMMENTS
TRACKBACK
CATEGORIES
ARCHIVES
LINKS
OTHERS
このページの先頭へ