- ベストアンサー
Perlでのマッチング処理について
検索CGIを作成しているのですが、検索文字に「ー」(-ハイフンではありません。日本語入力の言葉を伸ばすやつです。”サーバ”とか。)が入った文字を指定し、POSTするとServerErrorになってしまいます。サーバはレンタルものなので原因が分からず途方にくれています。どなたかPerlに詳しい方、ぜひよいアドバイスを下さい。ちなみに処理は下記のように行っています。 (1)検索する元のデータはsjisである。 ↓ (2)ブラウザのフォームから、検索したいデータがsjisでPOSTされる。 ↓ (3)ReadParseにてデータを変数へ取り込む。(cgi-lib.pl使用) ↓ (4)CGIにて、POSTされたデータをeucへ変換。(jcode.pl使用) ↓ (5)検索する元のデータが入ったファイルをオープン。 ↓ (6)ファイルから1行づつ読み込み変数へ格納。 ↓ (7)変数へ格納したデータをeucへ変換。 ↓ (8)if (${POSTされたデータ} =~ /${ファイルから読み込んだデータ}/)といった形でマッチング処理 ↓ (9)ファイルをクローズし、マッチングしたデータをsjisで結果表示。 ※まだデバッグ途中なのですが、とりあえず今判明しているのは 『インターネット』などというふうに、『ー』がキーに入るとエラーになります。 どなたかよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
お礼
参考URLで、私にとってBlackBoxであった文字コードについての理解が深まりました。ありがとうございます。確かにEUCで全て記述することによって、一発解決致しました。