🎉

Java8 + Windowsにおける文字化け対策の設定のまとめ

2024/07/04に公開

Java8 + Windowsにおける文字化け対策の設定について、いつも分からなくなるのでまとめました。
Java21についても整理中(コンソール表示が文字化けしがち)。

以下のリポジトリに作成したMarkdownからの抜粋です。
https://github.com/leoninja256/java-garbled-verification

前提条件

  • ソースコード、コンパイル時のエンコーディングはUTF-8とする
  • 実行時のfile.encodingはUTF-8とする

ソフトウェアバージョン

ソフトウェア バージョン
Oracle JDK 1.8.0_411-b09
Gradle (wrapper) 8.8
Maven (wrapper) 3.9.6
IntelliJ IDEA 2024.1.4
Eclipse (Pleiades) 4.32.0
Windows 11 Pro 22631.3810
cmd 22631.3810
Windows PowerShell 5.1.22621.3810
PowerShell 7 7.4.3

結論

Java8の場合は以下を設定しておく。

Gradle

  • gradle.properties
    org.gradle.jvmargs=-Dfile.encoding=UTF-8
    
  • build.gradle.kts
    tasks.withType<JavaCompile> {
        options.encoding = "UTF-8"
    }
    
    tasks.javadoc {
        options.encoding = "UTF-8"
    }
    

Maven

  • .mvn/jvm.config
    -Dfile.encoding=UTF-8
    
  • pom.xml
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>
    
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.1.2</version>
                    <configuration>
                        <argLine>-Dfile.encoding=UTF-8</argLine>
    

IntelliJ IDEA

  • IntelliJ IDEA - VMカスタムオプション
    • -Dfile.encoding=UTF-8

Eclipse

  • Eclipse - eclipse.ini
    • -Dfile.encoding=UTF-8

検証内容のログ

以下のリポジトリのjava8.mdをご確認ください。
https://github.com/leoninja256/java-garbled-verification/blob/main/java8.md

以上。

Discussion