ziguzagu.org

AWStatsの検索ワード文字化け対応

AWStatsで、検索ワードが文字化けしてしまうのを対応してみる。

DecodeEncodedStringという関数でURIエスケープされた文字列を、単純に元に戻して表示しているので(そのままやんけ!)、これをUTF-8に対応させるべく修正する(※Jcode使ってます)。

sub DecodeEncodedString {
    my $stringtodecode=shift;
    $stringtodecode =~ tr/\+/ /s;
    $stringtodecode =~ s/%([A-F0-9][A-F0-9])/pack(“C”, hex($1))/ieg;
    Jcode::convert(\$stringtodecode, “utf8”);
    return $stringtodecode;
}

ちなみに、最近バージョン6.3がリリースされました。6.2以前にあった重大なセキュリティーホールの修正が入ってるので、バージョンあぷしませう。