メッセージ・リソースファイルで日本語を使用したい場合、日本語をUnicodeでエンコードする必要があります。ここでnative2asciiコマンドを使って日本語メッセージ・リソースファイルをUnicodeに変換する方法と逆にコンパイルされたUnicodeファイルをネイティブコードに戻す方法を紹介します(OS:Windows)。
※前提条件としてはJDKがインストールされている。
コマンド例:
C:\>native2ascii [options] [inputfile [outputfile]]
それでは、詳しく説明しましょう。
[options] : encodingオプション と -reverseオプションの2つ選択肢がある。
-encodingオプションは、変換時に使用する文字コードを宣言する、場合より省略する。しかしリソースファイルがシステムデフォルトの文字コードで記述されていない場合など、エスケープ失敗のため、-encodingオプションを指定する必要があります。
-reverseオプションは、コンパイル済みのファイルを逆変換、すなわち元に戻す処理である。
[inputfile]:元のファイル。
[outputfile]:出力ファイル。
encoding例を挙げます。
●使用するmessage_jp.propertiseファイル
title=タオバオへようこそ!
view=native2asciiの使い方
コンパイルコマンド
C:\java>native2ascii message_jp.propertise native2ascii.propertise
すると、出力されたnative2ascii.propertiseファイルを確認してみると、
title=\u305f\u3051\u304a\u3070\u306e\u9580
view=native2ascii\u306e\u4f7f\u3044\u65b9
上記の用に出力されたファイルは全て ASCII コードで表されています。
※出力ファイルで文字化け発生する場合、-encodingをシステムディフォールトコードに合わせてコンパイルしてください。
-reverse例を見てみましょう。
C:\java>native2ascii -reverse native2ascii.propertise afterreverse.propertise
これでコンパイルされたnative2ascii.propertiseを戻の生ソースに戻りました。
ファイルを確認してみると、
title=タオバオへようこそ!
view=native2asciiの使い方
これはコンパイルされた前のmessage_jp.propertiseファイルのコンテンツは同じですね。
以上、java+struts開発でメッセージ・リソースファイルで日本語を利用場合の処理方法でした。
メモーを。
♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。
コメントする