1.MySQLで文字化け
JavaでMySQLに接続し値を取得したところ、取得した日本語の文字列が文字化けしました。
2.原因
入出力の文字列の文字コードは、実行環境のfile.encodingに左右されます。そのため多くの場合は、
- Windowsの場合→Shift-JIS
- Linuxの場合→EUC
となります。
今回は、UTF-8でデータが挿入されていたダンプファイルを、新しく構築したwindows環境にインポートしたため、文字化けが起きてしまいました。
3.対応方法
特定の文字コードに対応したい場合や、OSに問わず指定の文字コードで扱いたい場合は、接続URLの末尾にパラメータとして、
「characterEncoding=文字コード」
を付与してください。
例(UTF-8に対応する場合)
jdbc:mysql://:/?characterEncoding=UTF-8
これで文字化けが解消されると思います。
コメント