item.cgo のフォームで商品名を以下のように記述します。
<INPUT TYPE=HIDDEN NAME="GNAME" VALUE="シ ョ ウ ヒ ン1">
foreach $i (0 .. $#BASE) {
というコマンドを探してください。2行あります。その行下に
($TIME,$CODE[$i],$GNAME[$i],$TANKA[$i],$KAZU[$i],$TAXRATE[$i],$REM1[$i],$REM2[$i],$REM3[$i],$REM4[$i],$ENZAN1[$i],$CALS1[$i],$ENZAN2[$i],$CALS2[$i]) = split(/\t/,$BASE[$i],14);
があるので、下記行を加えます。
$GNAME[$i] =~ s/ //g;
以上です。
[解説] 半角カタカナが cgi プログラムの jcode.pl でデコードされたとき、
半角カタカナ一文字は1バイトになるため、半角カタカナ2文字で全角1文字
のように解釈されてしまうことが原因です。
そのため、上のように半角カタカナの間に1バイト文字(上の例では半角空白)
を挿入しておき、HTML表示される段階で削除するコマンドを与えます。