CGI で ー の文字を含む文字を検索するには?
[上に]
[前に]
[次に]
size
[E-Mail]
[HomePage]
1999/03/11(木) 19:08:27
はじめまして、sizeと申します。
自分の作っているCGIで ー を含む文字を入れて検索すると、
エラーが出てうまいこといきません。
ー を含まない文字なら、うまいこと検索が出来るのですが
どうしたらいいのでしょうか?
よろしくお願いします。
mo
[E-Mail]
1999/03/11(木) 22:10:31
恐らく、「ー」が sjis であるため、
/ー/
は
/\201]/
と解釈されているのでしょう。開き括弧のない 「]」が出現しているのが
原因であると考えられます。
「ー」でエラーとなるなら「(」のような不釣合の括弧を入力してもエラー
になるのかな?
\Q, \E 使って特殊記号をエスケープするか、あるいは EUC
に変換して比較するか。
なお、日本語で検索を行なう場合、2 バイト文字の境界を
ちゃんと識別しなければ、存在しない文字にマッチしてしまいます。
たとえば、EUC コードで、
$word = 'い';
$text = '阿あ';
if($text =~ /$word/) { print "True\n"; }
というパターンなど。
size
[E-Mail]
[HomePage]
1999/03/12(金) 01:00:28
[[解決]]
\Q-\E の方法で解決しました。
ありがとうございました。
こんなにあっさり解決するなんて、
うれしくもあり、悲しくもありますね。
ありがとうございました。
[上に]
[前に]
[次に]