半角カナを検出したい
フォーム入力の半角カナを検出または全角に変換したいです。
ここで同じような質問をいくつかみて、いろいろ試しましたが
どうもうまくいきません。
jcode.pl,v 2.6です。
デコード部分は以下のようになってます。
#!/usr/bin/perl
require 'jcode.pl';
print "Content-type: text/html\n\n";
$request_method=$ENV{'REQUEST_METHOD'};
if($request_method eq "POST"){
read(STDIN,$query_string,$ENV{'CONTENT_LENGTH'});
}else{
$query_string=$ENV{'QUERY_STRING'};
}
@pairs=split(/&/,$query_string);
foreach $pair(@pairs){
($key,$value)=split(/=/,$pair);
$key=~ tr/+/ /;
$key=~ s/%([\dA-Fa-f][\dA-Fa-f])/pack("C",hex($1))/eg;
&jcode'convert(*key,'sjis');
$key=~ tr/,/_/;
$value=~ tr/+/ /;
$value=~ s/%([\dA-Fa-f][\dA-Fa-f])/pack("C",hex($1))/eg;
&jcode'convert(*value,'sjis');
$value=~ tr/,/_/;
$input{$key}=$value;
}
よろしくお願いします。
お礼
(1)"アイウエオ" (2)"ア\nイ\nウ\nエオ" (3)"アイウエオ" (2)や(3)だと半角から全角へ変換されるのですが, (1)だとうまくいきません。 先輩に聞いたところ,Oracleで同じような事をしてくれる関数があるようなので、そちらを試してみることにします。 多数の回答ありがとうございました。