MySQLで文字コードを確認する
■サーバの文字コードは、configure時に–with-charset=utf8 とすることで、デフォルトUTF-8に設定できる。
■DB作成後、以下のコマンドで確認できる。
mysql> show create database hogedb\G
*************************** 1. row ***************************
Database: hogedb
Create Database: CREATE DATABASE `hogedb` /*!40100 DEFAULT CHARACTER SET utf8
*/
1 row in set (0.01 sec)
■MySQLのクライアントの文字コードがどうなっているかを調べるには、一旦MySQLのコンソールにログインし、statusコマンドを実行する。
mysql> status
--------------
mysql Ver 14.14 Distrib 5.1.44, for pc-linux-gnu (i686) using EditLine
wrapper
Connection id: 1
Current database: hogedb
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.1.44 Source distribution
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock
Uptime: 2 min 38 sec
Threads: 1 Questions: 5 Slow queries: 0 Opens: 17 Flush tables: 1 Open
tables: 4 Queries per second avg: 0.31
--------------
■文字コード関連のシステム変数からも、文字コード設定状況を確認できる。
mysql> show variables like '%character%';
+--------------------------+----------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------+
| 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/share/mysql/charsets/ |
+--------------------------+----------------------------------------+
8 rows in set (0.00 sec)
■豆知識: rpmとかでMySQLを導入すると、文字コードはデフォルトlatin1になる。