• ベストアンサー

プロパティファイルで日本語を扱う

プロパティファイルに日本語をいくつか定義しておきます。(例えばmessage=あいうえお など)これをResourceBundleでgetStringして表示すると、文字化けしてしまいます。コマンドプロンプトからプロパティファイルをUnicodeエスケープすれば、文字化けしないで表示できるのですが、プログラム上でUnicodeエスケープとかってできるのでしょうか?それともプロパティファイルで日本語を取得する場合は必ずコマンドプロンプトからUnicodeエスケープするしかないのでしょうか?また、他にプロパティファイルでの日本語の取得の仕方がありましたらご教授願います。

  • Java
  • 回答数4
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • satotake
  • ベストアンサー率100% (2/2)
回答No.4

ResourceBundleに頼らずに、プロパティファイルを読込むクラスを 作成するのが楽です。

その他の回答 (3)

  • deadlock
  • ベストアンサー率67% (59/87)
回答No.3

native2ascii+Propertiesが現在の形になっているのにはそれなりの理由があります。 小手先で解決しようとすると失敗するので、普通の方法を使いましょう。 あとはNo.1・No.2で仰られていることと同じです。 各質問への回答です。 >プログラム上でUnicodeエスケープとかってできるのでしょうか? できます。Propertiesのload/storeメソッドの実装を参照してください。 >それともプロパティファイルで日本語を取得する場合は必ずコマンドプロンプトからUnicodeエスケープするしかないのでしょうか? ResourceBundleを使うのであればその通りです。 >他にプロパティファイルでの日本語の取得の仕方がありましたらご教授願います。 ResourceBundle・native2asciiがやっていることを自分で実装し、Propertiesにデータを渡すことになります。 ただし、あらかじめnative2asciiを使用するのに対して非常に大きな手間がかかります。 あと、質問文(とタイトルとの組み合わせ方)が分かりにくいです。もう少し推敲してください。 目的、環境、現状分かっていること、試したこと をそれぞれ分けて書いてください。 意図した回答が貰えないのは、意図していることを伝えきれていないということなんですから、補足の内容ももう少し考えてみてください。

  • kazsharp
  • ベストアンサー率37% (16/43)
回答No.2

参考URLにプロパティファイルエディタがあります。 「PropertiesEditor Standalone」というのが「単独のエディタ」で他はEclipseのプラグインなどです。

参考URL:
http://sourceforge.jp/projects/propedit/
satosai
質問者

補足

ツールではなく、プログラムでやりたいのです。

回答No.1

素直にnative2ascii使えばいいのでは?

satosai
質問者

補足

それを使わないで表示する方法があれば知りたいという質問なのですが・・・・。

関連するQ&A

  • コマンドプロンプトなどで日本語が文字化け

    コマンドプロンプトなどで文字化け?してしまいます 化けてる文字をコピーしてメモ帳などに貼り付けたら日本語として表示されます どうすれば回避できるんでしょうか

  • コマンドプロンプトが文字化け

    WindowsXP Professional を使っています。 コマンドプロンプトで日本語が文字化け(???と表示される)して困っています。 「既定値」、「プロパティ」をどう変更しても直りません。どうすれば日本語を表示できるか教えていただけますでしょうか。

  • ファイルの日本語コードの調べ方

    2つの同じようなファイルがあり、あるアプリからファイルをインポートしますが、1つはOKですが、1つはNGです。エラーの発生は//の間の日本語の部分で、2つめの/がどうも認識されていないようです。日本語部分は完全に文字化けしていました。 おそらくUTF-8のユニコードであれば正しく認識されると思うのですが、2つのファイルは見た目は日本語部分は同じですが、日本語のコードが現在何か調べる方法はありますか。

  • mysqlから取得した文字の文字化け

    mysqlでchar(20)に日本語を登録しました。 mysql上では当然select KUDAMONO from SHOHI_TABLE;とすると みかん りんご かき いちご というようにコマンドプロンプト上で表示されます。 このデータをjavaでで取得すると文字化けを起こします。 while(rset.next()){ System.out.println(rs.getString("KUDAMONO")); } 半角データの場合はgetString("列名")で文字化け起こしません。 数字データについてもgetInt("列名")で文字化け起こしません。 原因はなんでしょうか?

    • ベストアンサー
    • Java
  • 英語版OSで日本語表示

    コマンドプロンプトから Applocaleのファイルがあるディレクトリまで行き、apploc.msiを実行 の操作を詳しく教えていただけないでしょうか>< パソコン初心者なのでコマンドプロンプトまでいけるのですが どうやって移動、実行するのかがわかりません。 英語版のOSを買って日本語のゲームなどが文字化けしてしまい 困っています。お願いします><

  • Linux9でのCUIの日本語表示について

    いつもお世話になっております。 Linux9のCUIからの日本語表示について教えて下さい。 テキストエディタで作成したテキストファイルの中身をcatコマンドで 表示しようとすると日本語部分のみ文字化けします。 konコマンドを打つ前でも打った後でもls-aコマンドで日本語ファイル名の 表示はできますが、catコマンドで該当ファイルを開くと中身の 日本語部分が文字化けしております。また、konコマンド入力後であれば man konコマンドででマニュアルを正常に日本語表示できますが、 konコマンド入力前にman konコマンドを入力すると日本語部分が 文字化けします。GUI画面では正常に文字化けしないで 表示されます。ターミナルでも文字化けします。 /etc/sysconfig/i18nの中は以下の記述となっております。 Lang="ja_JP.eucJP" SUPPORTED="ja_JP.eucJP":ja_JP:ja" 他に、何処を確認すればよいでしょうか? 詳しい方がいらっしゃいましたら教えて下さい。 お願い致します。 QNo.3953540にて同質問をさせて頂きましたが、FedoraCore4だと思っていたのですがLinux9でした。ご回答頂いた皆様、大変失礼致しました。

  • Yahooなどの「EUC」HTMLソースを、日本語でファイル保存したい

    yahooのサイトでソースを表示すると、文字化けのように表示されます。 PHPのfopen関数でyahooなどのソースを取得し、文字化けしないように正しい日本語でファイルに保存したいのですが、その方法をお教えいただけないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • Proftpで韓国語文字化け

    Vine Linux 3.2 proftpd という環境でftpを使っていました。日本語表示も問題なく利用できていたのですが、実験で韓国語のファイル名のファイルをプットしたところ(webブラウザから),公開しているフォルダの日本語ファイル名の全ファイルが文字化けしてしまいました。 もちろんプットした韓国語ファイルも文字化けしてます。 ffftpからログインしても,ブラウザからログインしてもだめでした。 いちいち手作業でリネームしていくしかないのでしょうか・・・。 対策とかないのでしょうか。 ・韓国語ファイル名はプットできないようにするとか ・文字化けした全ファイルを一発で直すコマンドとか ・ユニコードとかの設定がいる?とか ご存じの方ご教授ください。

  • フォルダ内の韓国語のファイル名の一覧を作成するには

    エクスプローラーでフォルダの中を見ると 韓国語の文字を含むファイル名の 韓国語の文字が正しく表示されているのに コマンドプロンプトから dirを実行すると 韓国語の文字が■で表示されてしまいます。 コマンドプロンプトから dirを実行して 韓国語の文字が正しく表示させるようにすることは できるのでしょうか。 したいことは dir /b > list.txt で、フォルダの中にある 韓国語の文字を含むファイル名の一覧を 作成したいのですが、生成された list.txtは、韓国語の文字が?の表示になって うまくいきません。 フォルダの中にある 韓国語の文字を含むファイル名の一覧を 作成するにはどうすればよいでしょうか。 (Windows7 日本語)

  • 日本語のデータが表示されません

    Xampp1.7付属のMySQL5.1.30を使用しています。 SELECT文で日本語データを抽出しても表示されません。 他の数値の列は表示されますが、日本語文字列の部分だけ空白が表示されます。 列の定義はVARCHAR(10)となっており、INSERTで挿入すると、Query OK と出ますが、Warning 1 とも出ます。 my.cnfにはcharacter-set-server = ujis と書いて、status コマンドでも ujisになっているのが確認できました。 コマンドプロンプトの文字コードをchcpで日本語EUC(20932)に変更しても駄目でした。 何が原因か分かりません。どなたかご存じないでしょうか?

専門家に質問してみよう