Hatena::ブログ(Diary)

konisimple log RSSフィード

はてなブログに移転しました!

2009年12月06日

MacBookのターミナルでJavaのJDBCからMySQLをいじるときに文字化けするときには

大学の課題で文字化けにはまった。

僕の場合結果的に以下のうち2つを実行すれば文字化けを解消することができたのですが、その過程でいろんな方法を見つけたのでメモしておきます。

文字化けしないための一番楽な方法は、全ての文字コードを統一すること。・・・ということで僕はUTF-8に統一しています。

まずMySQLデータベースUTF-8で作成。

SET CHARACTER SET utf8;
CREATE DATABASE Exercise default character set utf8;

次に.javaファイルもUTF-8で保存。そしてJDBCからデータベースに接続するときは以下のように文字コードを明示*1

DriverManager.getConnection("jdbc:mysql://localhost/Exercise?useUnicode=true&characterEncoding=UTF8", "root", "1234");

コンパイル&実行時にも指定しとく*2

javac -encoding UTF-8 Test.java
java -Dfile.encoding=UTF-8 Test 

※僕はJavaとかよくわからないのでいつもこれでもか!これでもか!と文字コードを指定しまくる戦法をとりますw