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

  • 0
    いいね
  • 0
    コメント

    前提

    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'