- - PR -
Property ファイルからの文字列は文字化け
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-11-13 10:05
お世話になります。
JSFでPGを製作しています。あるPropertiesファイルから日本語を 含める文字列を読み込み、OutputTextに表示したいですが、どうしても 文字化けしてしまいます。やり方としては下記の通りです。 ResourceBundle _rb=ResouceBundle.getBundle("configer",locale); this.message=_rb.getMessage("message"); このmessageを表示すると文字化けです。 JSPファイルのcharsetはSHIFT-JISとセットしております。 ご存知の方は教えていただけませんか? 宜しくお願いいたします。 | ||||||||
|
投稿日時: 2006-11-13 10:25
java.util.Propertiesクラスのソースを見てもらえばわかると思いますが、
・Properties#load() ・Properties#store() の両メソッドともエンコーディングが"ISO 8859-1"になっています。 Propertiesクラスはエンコーディング形式を変更するようなメソッドを持っていないので 日本語を文字化けせずに読み書きすることはできません。 @java.util.Propertiesクラスをextendsして load、storeをオーバーライドし、 MS932などの形式を指定して読み書きできるようなメソッドにする。 A独自の設定ファイル読み書きクラスを作成する。 解決策としてはこんなところですかね。 30分もあれば実装できるので、そんなに難しくないと思います。 | ||||||||
|
投稿日時: 2006-11-13 10:31
native2ascii使えばいいじゃん。
つーかjavadocぐらい読もうよ。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Properties.html http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/native2ascii.html | ||||||||
|
投稿日時: 2006-11-13 11:55
native2asciiで確認した所、だめです。
| ||||||||
|
投稿日時: 2006-11-13 12:13
なにがどうだめなのか。 通常はnative2asciiで解決する問題だし、そうするのが王道だが、 それで解決しないと言うならその状況を説明しましょう。 使い方、考え方を間違えている可能性はないのですか? エンコードの指定の誤り、native2ascii前のファイルを参照していた等、 間違える要素はそれなりにあります。 | ||||||||
|
投稿日時: 2006-11-13 12:17
SHIFT-JISのハイフンが問題?
| ||||||||
|
投稿日時: 2006-11-13 12:52
お世話になっております。
普通はnative2asciiはプロンプトで使いますが、 今回の場合はどこでどう使いますか? つかり、PGの中には使えますか? 宜しくお願いいたします。 _________________ | ||||||||
|
投稿日時: 2006-11-13 13:00
「だめです」ってのは、やってみてだめだったんじゃなくて、
プログラム中で使えそうにないからだめだ、って意味だったんですかね。
native2asciiを、プロンプト以外から使う、なんて考えたこともありませんが。
そんなことを考えるくらいなら、ResourceBundleなんか使わずに、 普通のファイルにして、ストリームから読み込んで分解して、 Mapにでも格納した方が早いしスマートだと思いますよ。 84の提示してらっしゃる方法とたいして変わりませんが。 いちいちコンパイルするのが面倒だということなら、Antを使うのをお勧めします。 [ メッセージ編集済み 編集者: Edosson 編集日時 2006-11-13 13:02 ] |