GONT-PRESS TOP
ゴントの書類綴
<<『時をかける少女』-テアトル新宿にて 映画『ゲド戦記』を観ての評価-不器用なドキュメンタリー?>> |
[PROFILE] [MY WORKS] |
[ 4-Tips ] |
JavaScriptを使う方法がある。
JavaScript で複数の文字コードをform から送信する方法
UTF-8 ユニコードで(一部略)<form name="f_g" method="GET" action="http://www.***/" target="smp" onSubmit="return false;" Accept-charset="UTF-8">
<input type="text" name="q" value="" size="31">
<input type="button" value="UTF-8" onClick="org=document.charset; document.charset='UTF-8'; document.f_g.submit(); document.charset=org;">
</form>
しかし、どうもうまく行かない場合、CGIでワンクッション置いて、そこで文字コードを変換し送り込む方法もある。
たとえば、utf-8でデータを送りたい場合、Jcode.pmを使う。
require './jcode.pl';
を
use Jcode;
にする。htmlのprint文でutf-8のページを出し、そこでデータをフォームにセットし直して送りなおす。
&ReadParse(*in);
で普通に分解した後でフォームに格納。
HTMLの出力は
Content-type: text/html; charset=utf-8
として、metaも
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
とする。
最後のprintは、まとめて、
&Jcode::convert(\$print,'utf8');
これで問題なく送り込める。
Posted by gont at 2006年08月04日 03:01 | TrackBack