windows環境でのみDBテストデータが文字化けする

SpringBootでgradleでビルド実行するアプリケーションを開発しているが、 Windows環境でのみ、DBUnitで読み込んだテストデータが文字化けして、 期待値と一致せずテストエラーになってしまう。Macじゃおきない。

ずっと悩んでたけど、解決方法がわかった。 実行時にJVMのOPTIONに

-Dfile.encoding=UTF-8

を指定すればよかった。

原因は、このfile.encodingはOSのデフォルトコーディングが使われるため、windowsはMS932になってしまう。 なんでこういう仕様にしたんやろね。