May 20, 2006
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
TrackBack ping me at
http://www.in-vitro.jp/blog/index.cgi/Misc/20060520_01.trackback
writeback message: Ready to post a comment.
