MySQLで取得した文字列が文字化けする

※当サイトではアフィリエイト広告を利用しています

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

これで文字化けが解消されると思います。

 

コメント