MTを使っているlinuxサーバーのapacheのアクセスログで文字化け

MTを使っているlinuxサーバーのapacheのアクセスログで文字化けすることがあります。
文字化けは、決まって \x で始まります。

例えば、

[Wed Jan 13 08:20:50.329526 2021] [cgi:error] [pid 27518] [client 999.999.999.999:54246] AH01215: 2021-01-13T08:20:50 [INFO] \xe3\x83\xa6\xe3\x83\xbc\xe3\x82\xb6\xe3\x83\xbc'admin'(ID1)\xe3\x81\x8c\xe3\x82\xb5\xe3\x82\xa4\xe3\x83\xb3\xe3\x82\xa4\xe3\x83\xb3\xe3\x81\x97\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82 at lib/MT/App.pm line 2292., referer:....

は、↓なわけです。

[Wed Jan 13 08:20:50.329526 2021] [cgi:error] [pid 27518] [client 999.999.999.999:54246] AH01215: 2021-01-13T08:20:50 [INFO] ユーザー'admin'(ID1)がサインインしました。 at lib/MT/App.pm line 2292., referer:....

ログの内容を文字化けさせずに確認したいのであれば、Linux上でperlコマンドを使って、以下のように指定すると、上記のように文字化けせずに確認できます。

cat ssl_error_log | perl -nle 's/\?\\([a-f\d]{3})/chr($1)/ieg;s/\\x([a-f\d]{2})/pack("C", hex($1))/ieg;print $_;'

出典:Apacheログのマルチバイトが文字化けしたら使うコマンド(とあるプログラマの備忘録)
「とあるプログラマ」様、情報ありがとうございます。


perlコマンドが使えない場合は、パソコンにて、
1.さくらエディタなどで、\xを%に置き換える。
2.URLエンコードされた文字列をデコードする。
  例:URLエンコード・デコードフォーム で「デコード」する。
  TAG Index様、ありがとうございます。

%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc は ユーザー になるはず。

ぐっどらっこ。