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

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

新規登録して質問してみよう
ただいま回答率
85.48%
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回答

4106閲覧

intellij IDEA でjavaのコンパイルでエラーが出ないようにUTF-8を使うようにしたい

gein

総合スコア4

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グッド

0クリップ

投稿2020/04/18 15:22

前提・実現したいこと

JDK14、intellij IDEAで、リテラルに日本語が含まれたjavaのソースコードをコンパイルした際に
「 この文字(0x86)は、エンコーディングwindows-31jにマップできません」
というエラーメッセージが出ないようにしたいです。
コンパイルの際に、
「javac -encoding UTF-8 クラス名.java」
と入力するとコンパイルできるのですが、それを省略できるようなintelliJ IDEAの設定などありましたら教えていただきたいです。

該当のソースコード

JDK14,intellij IDEA2019.3.4 ,windows10で作成したソースコードです。
質問用に少し書き換えてありますが、購入したjava入門用の書籍の始めの方に練習問題としてあった、char型などの変数に日本語のオペランドを代入し表示するようなプログラムです。

java

1public class test { 2 public static void main (String[] args){ 3 char A='あ'; 4 String B="あいうえお"; 5 System.out.println(A + B); 6 } 7}

発生している問題・エラーメッセージ

上にもある通り、char型やString型のリテラルに日本語が含まれていると以下のような文字化けを含んだエラーを吐いてしまいます。

test.java:3: エラー: この文字(0x82)は、エンコーディングwindows-31jにマップできません char A='縺?'; ^ test.java:4: エラー: この文字(0x86)は、エンコーディングwindows-31jにマップできません String B="縺ゅ>縺?縺医♀"; ^ test.java:3: エラー: 文字リテラルが閉じられていません char A='縺?'; ^ test.java:3: エラー: 文字リテラルが閉じられていません char A='縺?'; ^ エラー4個

試したこと

上記の通り、「-encoding UTF-8」とコンパイルの際に入力するとコンパイルできました。

ですので、授業でかじった少しの知識からコンパイル?の際の文字コードがUTF-8ならいいかなと思い、
intellij IDEAの Settings→Editor→File Encodingsより、
Project Encodings,Global Encodings をUTF-8に、
また、その下の欄、Pathに、書籍の練習問題などを入れておく用のプロジェクトのsrcフォルダもUTF-8に設定しました。
intellij IDEAを再起動したりをしましたが同じようなエラーを出してしまいます。
(日本語がリテラルで使われていないとエラーは出なかったです。)
イメージ説明

初の質問、java初心者で拙いところばかりですが答えていただけると本当に助かります....

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

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

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

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

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

guest

回答2

0

.%USERPROFILE%.IdeaIC2019.2\config\idea64.exe.vmoptions をテキストエディタで開き、最終行の次に -Dfile.encoding=UTF-8 を追加

という手もありそうです。

た、だ、し。

最新版では、つぎのような問題が発生しているようです。指示に従って回避するか、すこし古いバージョン(2019.3など)を探すか、しばらく待つか。

投稿2020/04/30 04:21

shiketa

総合スコア3971

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

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

0

IntelliJのEncodingの設定は、既存のファイルを開くときのデフォルト、もしくは新規作成時用の物であって既存のファイルのエンコード設定を自動変換はしてくれません。
ファイルを開いている時に右下あたりにそのファイルが使用しているEncodingが表示されるので、そこをクリックすれば別のものに変換する事ができます。 参照

投稿2020/04/30 03:04

toliner_

総合スコア24

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問