- 締切済み
javaでEUC-JP文字列→UTF-8への変換
DB内にEUC-JPで保存されているデータを取得して、これをUTF-8文字列として扱いたいです。 phpでいうところの$string = mb_convert_encoding($string, "UTF-8", "EUC-JP"); をjavaで実現したいです。 どのように記述すれば変換できるのでしょうか? 検索しても、数十行もコードを書いて実現しているものばかりで、 シンプルな方法が見つかりません。 javaには難しい処理なのでしょうか…
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- salsberry
- ベストアンサー率69% (495/711)
回答No.1
JavaのStringやchar型の文字コードは16ビットのUnicodeであって、EUC-JPやUTF-8のデータはbyte型の配列として扱う必要があります。EUC-JPからUTF-8に直接変換することはできないので、一旦Stringを経由します。 EUC-JPのbyte配列 → String → UTF-8のbyte配列 byte[] eucjp; String str; byte[] utf8; /* DBからのEUC-JPのデータがeucjpに入っていると仮定 */ try { str = new String(eucjp, "EUC-JP"); utf8 = str.getBytes("UTF-8"); /* utf8にUTF-8のデータが入る */ } catch (java.io.UnsupportedEncodingException e) {} これだけです。
お礼
ありがとうございます。 おかげさまで無事変換できました。 分かりやすい回答ありがとうございます!