質問: 実行環境 ・Java 最新 ・Eclipse4.5 Mars ・動的WEBプロジェクト ご質問させて頂きます。 ブラウザ画面にてpropertiesファイルの文字を表示させたところ文字化けしてしまいます。 propertiesファイルのエンコードはUTF-8に変更していますのでEclipse上ではしっかりと日本語へ変換されています。 表示先のブラウザ画面へは文字化けながら表示はされておりますので、propertiesファイルからの値の取得はできているものとかんがえて考えております。 解決法としてPropertiesEditorをプラグインでいれてみたのですが、解決できない状態です。 ご指導の程宜しくお願い致します。 2016/03/01 ※追記 説明不足で申し訳ございませんでした。以下に記載致します。 1 定数クラスからプロパティファイルのKEY取得 2 getbundleにてプロパティファイルを読み込み 3 getStringにてプロパティファイルから値を取得(デバッグにて取得した値を見てみるとこの時点で文字化けしています) 4 その後Bean(form)へ格納(setter) 5 Beanに格納している値をJSPにてgetして表示しています。 以上宜しくお願い致します。
回答: プロパティーファイルをエスケープされたASCII(native2asciiで変換したもの)でなく直接UTF-8で書いた場合、読み込み方が少し変わります。 ``` InputStreamReader isr = new InputStreamReader(is, "UTF-8"); BufferedReader reader = new BufferedReader(isr); Properties props = new Properties(); props.load(reader); // closeは省略 ``` のようにします。 そうしないと、エスケープされたASCIIとして読み込んでしまい、文字化けします。 ... 参考リンク: blog.k11i.biz: Java のプロパティファイルは UTF-8 エンコーディングで記述したい