Javaで特殊文字を使用するにはどうすればよいですか?それらはCp1252文字エンコードに属します。メッセージで使用しようとしていますが、使用できません。
次のような文字:「︻ー┳=デ」
Javaで特殊文字を使用するにはどうすればよいですか?それらはCp1252文字エンコードに属します。メッセージで使用しようとしていますが、使用できません。
次のような文字:「︻ー┳=デ」
関連する UTF 値を使用します。たとえば、http://www.fileformat.info/info/unicode/char/search.htmで「デ」を検索すると、\u30C7 の値が得られるため、次のことができます。
System.out.println( "\u30C7" ); // as string
System.out.println( '\u30C7' ); // as char
Java コード内で特殊文字を含む文字列リテラルを使用する場合は、Java ファイル自体がどのエンコーディングでエンコードされているかを Java コンパイラに通知する必要もあります。
Java ファイル (日本語のリテラル テキストを含む) を編集し、UTF-8 ファイルとして保存したとします。次に、ソース ファイルを UTF-8 ドキュメントとして扱うようにコンパイラに指示する必要があります。
javac -encoding UTF-8 file1 file2 ...
そうしないと、Java コンパイラは、Java ファイルがオペレーティング システムのデフォルトのエンコーディングを使用してエンコードされていると想定します。
charset を明示的に設定するには、 をラップすることPrintWriter
もできます。System.out
final String charset = "UTF-8";
PrintWriter out = null;
try {
out = new PrintWriter(new OutputStreamWriter(System.out, charset), true);
} catch(UnsupportedEncodingException e) {
e.printStackTrace();
}
文字表示については、?
標準出力ストリームをどこに出力しているかによって異なります。標準のUbuntuターミナルでは、おそらく見栄えがするでしょう(後でテストできます)。ただし、 Windows ではcmd
、コードページを手動で設定し、Chcp
それらの文字に付属するフォントを提供する必要があります。
Eclipse も同様で、コンソールの文字セットは UTF-8 だと思いますが、日本語のフォントがないとあまり役に立ちません。