ssh経由でリモートサーバーのシェルをキックしてspring bootを実行していましたが、その際のファイルやログに出力される日本語が???のように文字化けしていたので調査しました。
原因
[root@remote ~]# echo $LANG
ja_JP.UTF-8
[root@local ~]# ssh root@remote echo $LANG
C.UTF-8
CentOSのロケールの設定がssh経由でコマンド実行する場合にLANG=C.UTF-8
になっていました。
解決策
そのため、プログラムをキックするシェルに次の行を追加してLANG=ja_JP.UTF-8
に設定することで文字化けを解消することができました。
export LANG="ja_JP.UTF-8"