perl5.8のメモ
データの受け取りは CGI.pmでできるらしい
$cgi = new CGI; #formデータのキー名一覧を取得(この前は間違ってました) @in = $cgi->param();
送られてくるフォームデータはブラウザによって文字コードが違う……
スクリプトと同じ文字コードに変換しないと参照すらまともにできない
スクリプトと同じ文字コードに変換しないと参照すらまともにできない
Encodeを使って内部utf8形式に変換する
use Encode use Encode::Guess qw/shiftjis euc-jp 7bit-jis utf-8/; binmode (STDOUT,":utf8"); #フォームデータの文字コードを解析します $enc = Encode::Guess->guess($form_data); if(!ref($enc)){ #解析失敗 }else{ #解析に成功したので変換する $str = $enc->decode($form_data); }
エンコードを指定してファイルを読み込む
#shiftjis形式で保存されたログファイルを内部UTF-8 #に自動変換して読み込みます open(IN, "<:encoding(shiftjis)", "data.log");