質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.04%

IntelliJ IDEA でエラーメッセージが文字化け

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 10K+

score 1600

Windows 10 で、IntelliJ IDEA Community 2019.2 を使い始めた者です。
Java も gradle も完全に初心者です。
コンパイル時のエラーメッセージの文字化けで困っています。

// HelloWorld1.java
package chapters.introduction;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HelloWorld1 {
    public static void main(String[] args) {

        Logger logger = LoggerFactory.getLogger("chapters.introduction.HelloWorld1");
        Logger.debug("Hello world.");
    }
}

ソースの内容はあまり関係ないのですが、このソースをコンパイルすると、
以下のようにエラーメッセージが文字化けします。
イメージ説明

ただし、(IDEの中の)ターミナルタブで、gradlew を叩くとちゃんと表示されます。
イメージ説明

[設定]>[エディター]>[ファイル・エンコーディング]は以下のようになっています。

  • グローバル・エンコーディング:<システム・デフォルト:windows-31j>
  • プロジェクト・エンコーディング:<システム・デフォルト:windows-31j>
  • プロパティファイルのデフォルトエンコード:<システム・デフォルト:windows-31j>

前述のターミナル上で chcp を叩くと「現在のコード ページ: 932」となるので、
それなりに整合が取れているようにも思えます。

何かお心当たりがありましたら、アドバイスをお願いします。

参考までに build.gradle も付けます。
最終行は付けても付けなくても症状は変わらないようです。

// build.gradle
plugins {
    id 'java'
}

group 'demo'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    compile 'org.slf4j:slf4j-api:1.7.+'
    compile 'ch.qos.logback:logback-classic:1.2.+'

    testCompile group: 'junit', name: 'junit', version: '4.12'
}
tasks.withType(AbstractCompile)*.options*.encoding = tasks.withType(GroovyCompile)*.groovyOptions*.encoding = 'UTF-8'

【2019/09/02 追記】

IDEA の Terminal 上でいろいろとお試し中です。何かのご参考になれば:

  • Terminal のプロンプトは C:\Users\hotta のようになるので、PowerShell じゃなくて cmd.exe が呼ぼれている模様?
  • この状態でも > javac HelloWorld2.java だとエラーメッセージが日本語になる。Windows のシステムロケールを参照している(らしい)?
  • > javac  -J-Duser.language=en HelloWorld2.java だとエラーメッセージが英語になる。
  • [File]-[Settings]-[Compiler]-[User-local build process VM options] に -J-Duser.language=en を入れても [Build Output] の出力は英語にならない。正確には

 (ソースパス).java 1 error            ← ここは英語
 <文字化けメッセージ>              ← ここは文字化け

  • [File]-[Settings]-[Compiler]-[Java Compiler]-[Additional command line parameters: に -J-Duser.language=en を入れても前項と同じ状況。

  • Build ペインを見ると

Task :compileJava FAILED

となっているので、gradle 経由で呼ばれている模様?

  • [File]-[Settings]-[Build, Execution, Deployment]-[Build Tools]-[Gradle]-(Gradle project)-(プロジェクト名)-[Build and run using]が[Gradle(Default)]になっていたので試しに[IntelliJ IDEA]
    に変えてみたら
    Error:Abnormal build process termination: 
    "D:\Program Files\AdoptOpenJDK\jdk-11.0.4.11-hotspot\bin\java.exe"(以下、非常に長いコマンドラインの後に)
    Unrecognized option: -J-Duser.language=en
    となった。オプションの中を見ると  -Duser.language=ja といったものがあるので指定方法が違うらしい。

まだ解決してないですが、この「非常に長いコマンドライン」で IDEA 自体が起動時にどのようなファイルを見に行っているかがわかって興味深いです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

check解決した方法

+6

ようやく直りました。
多くのプログラマが希望するであろう、日本語環境にするための手順を書いておきます。
(手順を確認するために、いったん IDEA をアンインストールしました)
1.IntelliJ IDEA をインストール
2.Pleiades で日本語化(任意)
3.%USERPROFILE%\.IdeaIC2019.2\config\idea64.exe.vmoptions をテキストエディタで開き、最終行の次に -Dfile.encoding=UTF-8 を追加

これだけで日本語化できるようです。フォント等はデフォルトのままでもちゃんと日本語が出ますが、お好みで変更することも可能です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/02/10 16:31

    ありがとうございます。参考になりました。
    私の環境はJetbrains toolboxを使っており、 3 のvmoptionsのパスが
    %USERPROFILE%AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\${hogehoge}.vmoptions
    にありました。

    キャンセル

0

font に関、日本語文字含むものが設定されているかが気になりました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/09/02 08:33

    [File]>[Settings]>[Font]>[Font] に MS Mincho を設定してみましたが、特に変化はないようです。

    なお、現在は切り分けのために、pleiades を通すのをやめて、IDEA を再インストールして英語環境にしています。英語環境にしても、エラーメッセージは日本語のままです。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.04%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る