- ベストアンサー
PHP,Perl の正規表現で”ー"を使うとエラーになってしまいます
PHPですと、ereg Perlですと、index等を使ってフォームから送られてきた文字を検索したいのですが、" ー "を使うと、PHPでは、エラーになり、Perlだと検索にかからなくなってしまいます。単語で例を挙げますと、"フォーム"などです。他の文字は平気みたいなんですけど、どういった原因が考えられるでしょうか。また、その対処法もできれば教えてください。ちなみにWindowsのメモ帳でやってます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#45976
回答No.2
文字列をコンバートしてから使用すれば大丈夫かと思います。 jcode::convert(\$keyword, 'euc'); など、jcode.plを使って検索したいファイル(?)と同じ文字コードに変換してみてください。 $keyword - 検索文字列の入った変数 euc - 文字コード(他sjisなど)
その他の回答 (1)
- selenity
- ベストアンサー率41% (324/772)
回答No.1
phpならi18n版のmbxxxx関数を使ってみましょう。 perlならjcode.plを使いましょう。
質問者
補足
ご回答ありがとうございます。 Perlではもちろんjcode.plを使ってますよ。でもだめなんですよ phpのi18n版のmbxxxx関数はちょっとわからないです、、、
お礼
shift-jis ではなくて、eucで文字コードをそろえたら無事'ー'検索できました。 かなり初歩的な質問になってしまいました、、、ありがとうございました。助かりました。 文字コードってめんどうですね
補足
検索した文字はコンバートしていたんですけど、データファイルも今度コンバートしてみたんですけど &jcode'convert(*$line, "sjis"); このように どうしてもだめですね、'ー'だけだめなんですよね、パソコンがおかしいんでしょうか、、、すごいはまっちゃった感じです、、、