AmazonRDSにS2JDBCで日本語登録−文字化け対策
ElasticBeanstalkとAmazonRDSで開発を進めているわけですが、次々と問題がありますね〜。。
DBに登録したら、文字化けです。
utf-8に設定してあるんだけどな、と思って下記コマンドで調べてみたら、
$ show variables like '%character%';
character_set_client | utf8 |
character_set_connection | utf8 |
character_set_database | utf8 |
character_set_filesystem | binary |
character_set_results | utf8 |
character_set_server | latin1 |
character_set_system | utf8 |
character_sets_dir | /usr/local/mysql-5.5/share/charsets/ |
何でサーバーだけ…?
とりあえず設定変更。
$ set character_set_server = utf8;
character_set_client | utf8 |
character_set_connection | utf8 |
character_set_database | utf8 |
character_set_filesystem | binary |
character_set_results | utf8 |
character_set_server | utf8 |
character_set_system | utf8 |
character_sets_dir | /usr/local/mysql-5.5/share/charsets/ |
これでとりあえずOK。
……とおもいきやまだ???になってる。
何で?と調べたら、接続も指定しなきゃいけないようで。
下記のようにcharacterEncoding=UTF-8を追記。
"jdbc:mysql://*******.us-east-1.rds.amazonaws.com:3306/db?zeroDateTimeBehavior=convertToNull"+"&characterEncoding=UTF-8"
無事文字化け解消です。