- #!/usr/local/bin/perl
-
- #漢字コード変換用スクリプトを呼び出す
-
- require "jcode.pl";
-
-
- #送られてくる文字列の長さ
- $length=$ENV{'CONTENT_LENGTH'};
-
- #長さ分だけ標準入力から読み込む
- read(STDIN, $buffer, $length);
-
- #文字列ごとに分割する
- ($shimei,$denwa)=split( /&/ , $buffer);
-
- #フォーム名と内容に分割する
- ($name,$value1)= split( /=/ , $shimei);
- ($tel,$value2)=split( /=/ , $denwa);
-
- #フォームから送られたデータにスペースがあると、
- #プラス(+)に置き換えられるので、
- #スペースにしたままにする変換処理をする
- $value1=~ tr/+/ /;
- $value2=~ tr/+/ /;
-
- #フォームから送られたデータの特殊文字や日本語などは
- # % に続く2桁の16進数に置き換えられるので、
- #それを変換しなおす処理をする
- $value1=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
- $value2=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
-
-
- #フォームの内容をコード変換する
-
-
- # SJIS
-
- $sjis1=$value1;
- $sjis2=$value2;
- &jcode'convert(*sjis1,"sjis");
- &jcode'convert(*sjis2,"sjis");
-
-
- # EUC
-
- $eu1=$value1;
- $eu2=$value2;
- &jcode'convert(*eu1,"euc");
- &jcode'convert(*eu2,"euc");
-
-
- #JIS
-
- $js1=$value1;
- $js2=$value2;
- &jcode'convert(*js1,"jis");
- &jcode'convert(*js2,"jis");
-
- print "Content-type: text/html \n\n";
-
-
- print <<EOF;
- <HTML><HEAD><TITLE>CGI-TEST</TITLE></HEAD>
- <BODY>
- SJIS 名前 =$sjis1 :電話番号 =$sjis2 <BR>
- <BR>
- EUC 名前 =$eu1 :電話番号 =$eu2 <BR>
- <BR>
- JIS 名前 =$js1 :電話番号 =$js2 <BR>
- </BODY>
- </HTML>
-
- EOF
-
- exit;
|
form1.cgi をベースに追加・変更した行だけを青字で表示
5.「jcode.pl」は、ネット上で公開されている
漢字コード変換のためのフリー・ソフトウェア。
持ってきてそのままサーバーに突っ込む。
フリーのCGIをもらってくると一緒に付いてたりする。
39.それぞれの値を、変換する
|