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

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

新規登録して質問してみよう
ただいま回答率
85.37%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

Q&A

解決済

2回答

20762閲覧

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

hotta

総合スコア1613

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

0グッド

3クリップ

投稿2019/08/29 01:12

編集2019/09/02 04:54

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

Java

1// HelloWorld1.java 2package chapters.introduction; 3 4import org.slf4j.Logger; 5import org.slf4j.LoggerFactory; 6 7public class HelloWorld1 { 8 public static void main(String[] args) { 9 10 Logger logger = LoggerFactory.getLogger("chapters.introduction.HelloWorld1"); 11 Logger.debug("Hello world."); 12 } 13}

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

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

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

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

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

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

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

groovy

1// build.gradle 2plugins { 3 id 'java' 4} 5 6group 'demo' 7version '1.0-SNAPSHOT' 8 9sourceCompatibility = 1.8 10 11repositories { 12 mavenCentral() 13} 14 15dependencies { 16 compile 'org.slf4j:slf4j-api:1.7.+' 17 compile 'ch.qos.logback:logback-classic:1.2.+' 18 19 testCompile group: 'junit', name: 'junit', version: '4.12' 20} 21tasks.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 自体が起動時にどのようなファイルを見に行っているかがわかって興味深いです。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

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

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

投稿2019/09/02 08:41

hotta

総合スコア1613

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

motisen

2020/02/10 07:31

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

2024/01/20 20:38

自分も参考になりました。 ちなみに自分はJavadocの日本語コメントがMS932に変換出来ないせいで文字化けしていましたが、build.gradleに、 // compileJavaタスクのエンコーディング compileJava.options.encoding = 'UTF-8' // compileTestJavaタスクのエンコーディング compileTestJava.options.encoding = 'UTF-8' // javadocタスクのエンコーディング javadoc.options.encoding = 'UTF-8' と書いても、同じように直りました。
guest

0

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

投稿2019/09/01 17:27

unhappychoice

総合スコア1531

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hotta

2019/09/01 23:33

[File]>[Settings]>[Font]>[Font] に MS Mincho を設定してみましたが、特に変化はないようです。 なお、現在は切り分けのために、pleiades を通すのをやめて、IDEA を再インストールして英語環境にしています。英語環境にしても、エラーメッセージは日本語のままです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問