WEBサイト制作に関するTips

Linux » Apacheのログでエンサインでエンコードされた文字列のデコード

アクセスログはURLエンコードされているので
tail -f access_log | perl -ne 'use URI::Escape; print uri_unescape($_);'

エラーログはURLエンコードの%がさらに\xになっているので
tail -f error_log | perl -ne 's/\\x(..)/pack("C",hex($1))/eg;print $_;'

PHPで出力するなら
echo urldecode(str_replace('\\x', '%', '対象の文字列'));

2017-04-26 11:16:21