ITエンジニアの成長ブログ

ITエンジニアとして行う勉強の発信&日々の生活で体験した楽しいことをゆるく発信

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

本当にいまさらなのですが、最近調べたのでメモをしておきます。

現在良く使用しているJavaのバージョンが8なのですが(少し古いですが)、プロパティファイルで日本語を扱っている場合にUnicodeエスケープ処理をしています。ちょうど以下のような形です。

test = \u3053\u308C\u306F\u30C6\u30B9\u30C8\u3067\u3059

このUnicodeエスケープしている箇所は、日本語で「これはテストです」という文字列となっています。

Javaのプロパティファイルは、元々ISO 8859-1エンコーディングで作成されていたみたいで、このエンコーディングでは日本語が使えないので、上記のようにUnicodeエスケープをする必要があったのです。

しかし、さすがにもう日本語使えるよなということで調べたのが今回の記事を書いた発端です。

結果として、読み込むときにちゃんとすればUTF-8などのエンコーディングで作成したプロティファイルで、日本語を使用してもうまくいくようです(それはそうですよね)。

因みに、これが標準APIでできるようになったのは、どうやらバージョン1.6からのようです(参考の記事に書いてありました)。

具体的な実装は、参考の記事に譲りますが、これで快適にプロパティファイルを編集できそうです。native2asciiコマンドという面倒な作業をしていたのが少し懐かしいです。

意外とこういうのは、少しずつ知識をアップデートしていないと、今の時代ではかなり効率が悪いことしてしまっていたりするので、定期的に勉強しておくことは大切だなと感じます。