会員のログイン等で、氏名(漢字)と生年月日でログインするように
してあるのですが、「眞」や「はしご高」などの文字が、
フォームで渡ってきた場合に、
データと一致しなくエラーとなってしまいます。
if (!open(IN,"$file")) { &error('データベースエラー','.'); }
@BASE = <IN>;
$all = @BASE;
close(IN);
if ($FORM{'FF'} eq '') { $FF = 0; } else { $FF = $FORM{'FF'}; }
$TO = $FF + $page - 1;
if ($TO > $#BASE) { $TO = $#BASE; }
$hit = 0;
$next_num = '';
foreach $num ($FF .. $#BASE) {
$data = $data2 = $BASE[$num];
&jcode'convert(*data,'euc');
($d,$NO,$REM,$DATE,$NAME,$EMAIL,$PMAIL,$AGE,$SEX,$PREF) = split(/\,/,$data);
# 名前(一致)
if ($NAME5 ne 'dadada') {
if ($NAME eq $FORM{'NAME'} ) { ; } else { next; }
}
# 生年月日(一致)
if ($AGE5 ne 'kakak') {
if ($AGE eq $FORM{'AGE'} ) { ; } else { next; }
}
# 検索終了処理
if ($hit == $page) { $next_num = $num; last; }
else { push(@NEW,$data2); $hit++; }
}
と検索の部分はなっております。
エラーが出る漢字は少ないのですが、
ログインできないお客様がいて困っています。
なにか対処方法はございますでしょうか?
何卒、宜しくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
EUC にない文字を使ってるとか, そういうことはないですよね?
あと, 揺らぎなく完全に一致しなければならないので元のデータベースに入っているデータはチェックしてますか?
No.1
- 回答日時:
&jcode'convert(*data,'euc');
でEUCにしているようですが、文字コードが自動判別できないときにエラーになるのだと思います。
&jcode'convert(*data, 'euc' ,'sjis');
などと、明示的に指定してはどうでしょう?
というか、いまだにjcode.pl使ってるとか、
&jcode'convertなどというPerl4の記述とか、(Perl5なら&jcode::convert)
ツッコミ所が多いのでEncode.pmを使うか、せめてJcode.pmを使った方がいいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Ruby パイソンプログラミング 2 2022/12/03 18:44
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ポインター引数の関数でコンパ...
-
stable diffusionのエラー
-
C言語の勉強しています。すみま...
-
MySQLに登録すると文字化け
-
C言語についてです! 同じ年の...
-
C言語 ファイル内のデータと入...
-
C言語でのLinuxとwindows共通の...
-
ホスト名の取得&表示について
-
【Excel VBA】10進数を2進数に...
-
エクセルVBA:日付データの変換...
-
UTF-8で5~6バイトになる文字コ...
-
エクセルシート名の制限を変更...
-
DataGridViewの特定列に入力さ...
-
char str[256]の256の意味は?
-
ピクセル,dpiから容量(バイト...
-
Excel VBA メール作成について ...
-
10Mバイトて文字数に すると何...
-
COBOLのCOMP形式について
-
TCP/IP通信の送信データについて
-
CGIについてです。教えて下さい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ポインター引数の関数でコンパ...
-
stable diffusionのエラー
-
printfの%eで指数部分の桁数を...
-
【Excel VBA】10進数を2進数に...
-
int型(2バイト)データの分割
-
pythonでDBのカラム名で取得し...
-
エクセルVBA:日付データの変換...
-
C#でのswitch文
-
linuxのシェルでファイル名に先...
-
C言語の構造体にてバブルソート...
-
c言語での wavファイルの編集(...
-
'dataType' 引数を Null にする...
-
H8/36064を使ったシリアル通信...
-
オセロゲーム 2次元配列で困...
-
10個の実数に対する降順ソート...
-
c言語の多次元配列で1から100ま...
-
c言語 配列から数字だけをint型...
-
matlabのソースコードをpython...
-
Cのプログラムがどうしても動き...
-
テキストファイルの結合について
おすすめ情報