useUnicode=true&characterEncoding=foobar

長い間,MySQLを使う日本人ユーザはcharacterEncodingとともにuseUnicode=trueを指定してきたと思う.かく言う自分もつい今日まで指定してきたもんだ.

がしかし,useUnicode=trueはもういらないってことにようやく気づいた.というかテストコード上でわざとfalseに指定してみたけど寧ろfalse設定が無視されるという状況w MySQL 4.1以上に接続する場合はどっちにしろC/Jがこの値をtrueに設定する.

おー、そうなのかー、と思いつつ、ハッと思い出したのが・・・
http://d.hatena.ne.jp/mir/20051219/p1

この日に自分の手でtrueに変更してらw この時点で気づくはずだけど,気づかなかったぽいw (ちなみに弄ったのはC/J 5.0ソースツリー)

ということで、とりあえずMySQL 4.1+C/J 5.0以上で使う場合にはuseUnicodeは指定する必要はありません.characterEncodingのみでOK.