mac の開発環境構築 〜MySQL 文字化け対応〜

MySQLの文字化け

以前、Mac OS X LeopardにmacportsでインストールにたMySQLでの文字化け対策は「MySQL コマンドラインでインポート」を参照してください。。

今回もまた文字化けが発生したので、同じ対処法を・・・とおもったけど、/opt/local/etc/mysql5/my.cnf がない!

そういえば、設定ファイルなにもしてなかったorz

参考サイト:PHPとMySQLの個人的まとめ

文字コードを確認

とりあえず、今の文字コードを確認。

$ /opt/local/lib/mysql5/bin/mysql -u root -p
Enter password: 

mysql> use table_name;
mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+-----------------------------------------+
| Variable_name            | Value                                   |
+--------------------------+-----------------------------------------+
| character_set_client     | latin1                                  |
| character_set_connection | latin1                                  |
| character_set_database   | latin1                                  |
| character_set_filesystem | binary                                  |
| character_set_results    | latin1                                  |
| character_set_server     | latin1                                  |
| character_set_system     | utf8                                    |
| character_sets_dir       | /opt/local/share/mysql5/mysql/charsets/ |
+--------------------------+-----------------------------------------+
8 rows in set (0.00 sec)

みごとにlatin1 で設定されています。

設定ファイルをコピー

「/opt/local/share/mysql5/mysql/my-medium.cnf」を「/opt/local/etc/mysql5/」の中にコピー

$ sudo cp /opt/local/share/mysql5/mysql/my-medium.cnf /opt/local/etc/mysql5/my.cnf

設定ファイルを編集

これで設定ファイルが作成されたので、編集していきます。

$ sudo vi /opt/local/etc/mysql5/my.cnf

以下の内容を追加。

#[mysqld]
character-set-server = utf8
skip-character-set-client-handshake

#[mysqldump]
default-character-set = utf8

#[mysql]
default-character-set = utf8

MySQL再起動

$ sudo /opt/local/share/mysql5/mysql/mysql.server restart

動作確認

改めて文字コード確認

$ /opt/local/lib/mysql5/bin/mysql -u root -p
Enter password: 

mysql> use table_name
Database changed
mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+-----------------------------------------+
| Variable_name            | Value                                   |
+--------------------------+-----------------------------------------+
| character_set_client     | utf8                                    |
| character_set_connection | utf8                                    |
| character_set_database   | latin1                                  |
| character_set_filesystem | binary                                  |
| character_set_results    | utf8                                    |
| character_set_server     | utf8                                    |
| character_set_system     | utf8                                    |
| character_sets_dir       | /opt/local/share/mysql5/mysql/charsets/ |
+--------------------------+-----------------------------------------+
8 rows in set (0.00 sec)

データファイルを指定してインポート

mysql> source /Users/myname/data.sql

無事、文字化け解消!

投稿日:

ページのトップへ戻る