アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。
一連の質問で大分クリアになって来たのですが、まだ課題が残っています。
xxx.propertiesファイルを作成したとします。
プロパティに日本語を設定しました。
Java上でgetProperties()をすると文字化けしてしまいます。
初歩的な質問で申し訳ありませんが、具体的な対策をご教示願います。
public String getMailSubject() throws MailSendErrorException {
String subject = null;
try {
Properties prop = new Properties();
// プロパティファイルからキーと値のリストを読み込む
prop.load(new FileInputStream(this.properties));
subject = prop.getProperty("mail.subject");
} catch (Exception e) {
e.printStackTrace();
throw new MailSendErrorException();
}
return subject;
}

上記のソースでmail.subjectに設定してある日本語文字列を取得したいのですが色々試しましたが上手く行きません。

A 回答 (1件)

PropertiesクラスのJavaDocを熟読すると幸せになれます。


特に以下
---JavaDoc(1.4)抜粋----------
プロパティをストリームに保存するとき、またはストリームからロードするときに、ISO 8859-1 文字エンコーディングが使用されます。このエンコーディングに直接表示できない文字には、Unicode escapes が使用されます。ただし、エスケープシーケンスでは 1 文字の「u」だけが使用可能です。他の文字エンコーディングとプロパティファイルを変換する場合、native2ascii ツールを使用できます。
-----------------------------
あと、関連項目のnative2asciiツールとか。

もし、開発のIDEにEclipseを使っているのなら、プロパティエディタなどのプラグインを入れると楽です。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
早速プロパティエディタプラグインを導入し、プロパティファイルを作成しなおしたら、文字化けせずに日本語が読める様になりました。
変にUTF-8とかShift-JISとかに文字コードを変換していたのが原因だった様です。

お礼日時:2007/02/07 14:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!