Run Command(SSM)でJavaクラスモジュールからの出力の文字化け対応

前提

Run Commandを用いてEC2インスタンス上に配置してあるbashスクリプト経由でJavaのクラスモジュールを実行する。

現象

Run Commandの結果に出力される日本語(マルチバイト文字)がすべて?に置き換わってしまう。

確認作業

Javaクラスモジュールを呼び出しているbashスクリプトで以下を実行すると空文字が返ってくる。
echo $LANG

Javaクラスモジュール内からデフォルトエンコーディングを確認してみる。
System.out.println(System.getProperty("file.encoding"));
結果は ANSI_X3.4-1968 が返ってきた。

対策

Javaクラスモジュールを呼び出しているスクリプト内に以下を記述する。
export LANG='ja_JP.UTF-8'