掲示板をPerlで作成してもらい、社内で使っておりますが、ユーザーIDに『ー』(例えばカードの2文字めの伸ばす文字)を使用すると、登録時は問題ないのですが、ログイン時の認証でCGIのエラーとなります。
掲示板を作って頂いた方に伺うと、
**********************************
表示は問題ないのですが、Perlの一部の関数
(おそらく正規表現を使用できる文字列操作関数)で
「ー」という文字を使うとエラーになるようです。
**********************************
という分析を頂いております。
この問題の解決方法はございませんでしょうか。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
jcode.plを使えば解決できます。
グーグルなどで探せば、どこかに落っこちてると思うので、それを、プログラムと同じフォルダに入れ、(パスが通っていればどこでも構いません)例えば$idにIDが入っていれば、
require 'jcode.pl';
&jcode'convert(*id,'euc');
とすれば、$idがEUCになるので、「ー」でエラーになりません。
No.2
- 回答日時:
全角の「ー」であればSJIS表現で送信されてきた場合、2バイト目がブラケットなので正規表現関数系で引っかかりますね。
対処方法としては
1、エスケープする
2、コード体系を変更し、引っかからないものにする
という方法があります。
一般的には2の方法、つまり下記でlucky111さんが提示されている方法を使うのですが、その場合、半角でブラケットやハイフンなど正規表現でのメタキャラクタがある場合にもうまく通らなくなってしまいます。
なので
・本当に正規表現関数評価が必要かもう一度チェックして必要無いのであれば、通常の文字列検査に変更する。
・ヤバそうな文字は全部エスケープする。
等の方法を取った方が良いでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- SQL Server SQLについて質問です。 a表がありその表には従業員名を保存するname列があります。 LIKE演算 1 2022/05/17 17:49
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- Windows 8 QTTabBarが無反応になる 2 2023/04/07 14:17
- au(KDDI) iPhoneSEを使用しています。ショートメールを使用していて入力中に70と表示されるのは70文字ま 1 2022/11/28 23:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現でシングルクォーテー...
-
正規表現でAND検索はできる...
-
メールアドレスの正規表現について
-
[VBS] テキストファイルから任...
-
正規表現で囲まれた部分の文字列
-
Perl 数値にスラッシュを入れる...
-
wordの何も書かれていない2ペー...
-
PS4コントローラーをPCでゲーム...
-
EXCELで=より左の文字を一括で...
-
Chr(13)とChr(10)の違いは?
-
エクセルでアルファベットか数...
-
VBAでの Replace関数で、ワイル...
-
セル内の文字列が日本語か英語...
-
EBCDIC⇒SJIS変換の方法
-
Excelで指数表現しないようにす...
-
「彡」って文字はなんという文...
-
Excelで3E8を3.00E+8にしない方...
-
文字列からタブコードを取り除...
-
エクセルで文字列をtxtファイル...
-
エクセルで文字列の最大値を抽...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaの正規表現で、マッチした一...
-
正規表現 秀丸エディタ 行頭か...
-
正規表現でシングルクォーテー...
-
[VBS] テキストファイルから任...
-
メールアドレスの正規表現について
-
正規表現でAND検索はできる...
-
Perl 数値にスラッシュを入れる...
-
[正規表現] 数字範囲をヒット...
-
正規表現です。括弧内にある複...
-
C言語のコメントを「正規表現」...
-
文章中全ての半角カッコ ( の...
-
C言語にパターンマッチってない...
-
grepの正規表現での最短マッチ...
-
正規表現で囲まれた部分の文字列
-
正規表現
-
さくらエディタでGrep検索する...
-
正規表現
-
時間の正規表現
-
正規表現を使って文字列をコピー
-
正規表現で、青空文庫形式の入...
おすすめ情報