May 20, 2006

[Misc] MySQL の文字エンコーディング関連設定

Windows で開発して Linux で稼働させる、といった状況だと文字エンコーディングは UCS2 や UTF-8 にしておくと楽。 MySQL を UTF-8 で動作させるための設定方法をメモしておく。

4.1.2. my.cnf オプション設定ファイル
http://dev.mysql.com/doc/refman/4.1/ja/option-files.html
付録 F. 環境変数
http://dev.mysql.com/doc/refman/4.1/ja/environment-variables.html
9.3.6. 接続のキャラクタセットおよび照合順序
http://dev.mysql.com/doc/refman/4.1/ja/charset-connection.html
ぱんぴーまっしぐら - PHPとMySQLの個人的まとめ
http://puchiko.lowtech.ne.jp/?itemid=349&catid=27

設定方法

環境変数を毎回指定しても良いが、/etc/my.cnf を編集すると毎回毎回の手間を省くことができる。

# cat /etc/my.cnf
[mysql]
default-character-set=utf8

[mysqld]
default-character-set=utf8
character_set_server=utf8
現在の文字エンコーディング関連設定がどうなっているのかを調べる方法は以下の通り。
# mysql -u mysqlaccount -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 141 to server version: 4.1.12

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SHOW VARIABLES LIKE 'character\_set\_%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| character_set_client     | utf8  |
| character_set_connection | utf8  |
| character_set_database   | utf8  |
| character_set_results    | utf8  |
| character_set_server     | utf8  |
| character_set_system     | utf8  |
+--------------------------+-------+
6 rows in set (0.00 sec)
使用した環境は以下の通り。
# mysqladmin -u mysqlaccount -p version
Enter password:
mysqladmin  Ver 8.41 Distrib 4.1.12, for redhat-linux-gnu on i686
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version          4.1.12
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 1 hour 31 min 52 sec

Threads: 2  Questions: 2227  Slow queries: 0  Opens: 97  Flush tables: 1  
Open tables: 64  Queries per second avg: 0.404

Posted in Misc | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |