少しはまったので記録する。
1.発生した事象
Linuxのeclipse環境で開発していた Spring Boot のプロジェクトをWindows側に移行した際に、Maven Test結果が文字化けによるエラーとなった。一部分だがその際のログのキャプチャを示す。
このログを見る限り、UTF-8のファイルをSJISとして読み込んだことにより文字化けが発生していると考えられる。
ちなみに、Maven Testで実施しているテストの内容はDBUnitでCSVファイルをDBに取り込み、テスト対象のメソッドで取得した結果が想定通りか比較している。(キャプチャ部分では「テスト」という文字が取得できることを確認)
2.環境
OS:Windows10
Eclipse 2023-06(4.28.0)
3.原因
Windowsではシステムプロパティを確認すると、「file.encoding」が「MS932」となっており、ファイルをSJISとして解釈して読み取った内容ををDBに格納し、文字化けしたデータを取得したため、テストで不一致のエラーが発生したと考えられる。
4.解決法
JAVA_TOOL_OPTIONS に -Dfile.encoding=UTF-8 を指定することでエンコードの指定ができ問題が解決した。
結果
VMの引数に指定する方法では上手くいかなかった。
参考ページ
以上