機能 ショートカットキー
リファレンス(参考URL)一覧へ移動 R
記事URLをMarkDownとしてコピー Ctrl+M
前のコードタグへ移動 Ctrl+←
次のコードタグへ移動 Ctrl+→
ヘルプを表示・非表示 H
Tips
- ショートカットキーは記事上で有効です。ヘッダー/フッター付近では機能しないことがあります。
- コードタグ移動機能がうまく動かないときは、Shift+F5でページを更新してみてください。
- このウィンドウを閉じるには、Hキーをもう一度押してください

Java \u3000’は不正な文字です の原因と解決法

プログラミング

Javaで、コピペしたコードを貼り付けて、javacすると、こういうエラーが。

PS C:\pg\java> javac .\Wind.java
.\Wind.java:6: エラー: この文字は、エンコーディングMS932にマップできません
frame.setSize(850,700); 縲?縲?縲?縲?縲?縲?縲?縲? 縲?//

.\Wind.java:6: エラー: 文ではありません
frame.setSize(850,700); 縲?縲?縲?縲?縲?縲?縲?縲? 縲?//
                        ^                         

ファイルの文字コードはちゃんとUTF-8だし、BOMがついてるとかもないし…

調べてみると、文字コードを指定してエンコードするとよさそう。

PS C:\pg\java> javac -encoding UTF-8 .\Wind.java
.\Wind.java:6: エラー: '\u3000'は不正な文字です
frame.setSize(850,700);           //

あれれ。

前述のエラーはでなくなったけど、新しいエラーが。

調べてみると、\u3000は全角空白らしい。なるほど。

Atomで正規表現を有効にして、\u3000を置換してみる。

改めて、

PS C:\pg\java> javac -encoding UTF-8 .\Wind.java

できました。

文字コード指定しなくてもできんじゃね?

PS C:\pg\java> javac .\Wind.java

できた。

いっぱいそういう文字を含んだファイルが有る場合は、sedなんかでまとめて置換すると良いと思う。

といってもソースの中に日本語を含む場合は、文字化けを防ぐためにビルドするときに前述のオプションを付ける必要がある。

javac -encoding UTF-8 .\Wind.java

この記事で欲しい情報が見つからなかった方へ

この記事の更新情報がある場合があります。
この記事は以下の記事とも関連性があると思われます。

JavaScriptの正規表現マッチでグループマッチを取り出すには
ISO-8601 のデータフォーマットでJavaScriptで時刻を出力するには
JavaScriptでURLエスケープ
JavascriptでHTTP GET
Java jarファイルを作成
Javaの基本
JavaScript 非表示パスワードを表示する ブックマークレット


管理人の方針で、既存の記事の編集はせず、新しい情報や大きな既存情報の更新があった場合には、新しい記事として公開することになっています。
当記事で欲しい情報が見つからなかった・解決に至らなかった場合、これらのリンクがお役に立てるかも知れません。

どうやってこの関連記事を生成しているの?
この機能のPHPソースコード(2500行)

コメントを残す

Close Menu