■ISO Lathin 1 文字コード変換
CGIにフォームで送信するのと同じようにエンコードする場合に便利なメソッドとして
escape(str)
がありますが、ネットスケープにおいてはフォームと同様のエンコードをしてくれるのに対して
インターネットエクスプローラではユニコード(?)形式に変換され、そのままでは使えないので
ネットスケープと同等の
escape(str)
機能を得るJavaScriptを作りました
■使い方
1)JSファイルを読み込む
<script src="escape2.js"></script>
2)escape(str)の代わりにescape2(str)を使う
■応用例
1)ページをリロードや変更することなくサーバのデータをアップデートする
画像を読み込む時にパラメータを渡す(別途CGIが必要)
document.ImageName.src = 'http://www.YourDomain.com/UpdateImage.cgi?CODE=' + escape2('更新内容だよ');
2)JavaScriptでクッキーへ格納する場合に2バイト文字の値をCGI側で取得きる形式にする
document.cookie = 'ONAMAE='+escape2('山田太郎');
■補足
1)通常はフォームから2バイト文字(全角)を送信した場合、2バイト目のコードが
半角アツファベット・半角@・半角_と同じ場合
(@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz)
はコードではなく文字で出力されますがインターネットエクスプローラでescape2(str)を使った
場合はコードで出力します
文字に変換してもよいのですが、変換効率が落ちるのとCGIが受け取れば結果は同じなので
コードで出力するようにしています
2)フォームからの送信とescape(str)との相違点として半角スペースと半角+の取り扱いが
異なるのでescape2(str)ではフォーム送信に準じてます
戻る