>>4526 mkt ずいぶんヌルい修正をしてしまい、お恥ずかしい限りです、 > - ヒットしなかったときのキーワードの表示が文字化けしている。(*1) > (「!」「;」「¥」など多数) 正規表現で検索しているため、入力された文字列は quotemeta している のですが、quotemeta すると EUC-JP の 0x80 以降も quote されてしまい、 その結果化けていました。これまでは quotemeta した後に s/\\([\x80-\xff])/$1/g; で元に戻していたのですが、前回の修正時になぜか戻す必要はないと判断 して、上記の s/// を削除していました。 > - 関係ない結果が表示される。(*2) > (「”」「’」「|」など) 全角->半角変換が甘くて、" ' | などはそもそも半角に置換していません。 調査していないので想像ですが、EUC-JP の 2バイト目 + 後続バイトに マッチしてしまったのではないかと思います。 > <!-- の後から 先頭項目のあたり?)まで拾ってきてしまっている。 > (「!」「=」「:」「@(=@)」「*」など多数) 全文検索のテストが甘かったようです。 > あと、「+」を検索しようとすると「500 Internal Server Error」に > なりますね。何も入力しなかった場合とかもですが。 空の場合は print "検索内容を指定してください。\n"; と表示するようにしていたのですが、前回の修正で Content-type ヘッダの 出力方法を変更したせいで、Content-type より前に 検索内容を指定してください。 が出力され、エラーとなっているようです。 少しずつ直していきます。ご指摘ありがとうございました。 |