バカンス駆動開発

この前バカンスって言ったら「古っ」って言われました

ubuntuでMySQLの日本語が文字化けしてる

vagrantubuntuに入ってたMySQLが日本語文字化けしているのでその対応。
boxファイルはこちらを利用しました。
r8/vagrant-lamp

まず現在の文字セットを確認

//mysqlログイン
% mysql -u root -p

mysql> show variables like "char%";

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

デフォルトがlatin1になっています。

my.confを変更

//ubuntuの場合mysqlの設定ファイルは以下です
% sudo vi /etc/mysql/my.cnf

各項目に以下を追記していきます。すでに設定項目がある場合はそのままか上書きをします。

[client]
default-character-set = utf8

[mysqld]
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8

MySQLを再起動

% sudo /etc/init.d/mysql restart