文字コードを変更するには(文字化けする場合)

メモ:  Category:mysql

文字コードを変更するには、 パラメータファイル を変更します。 Linuxでよく使われるmy.cnfやWindowsでは、my.iniを編集します。

Linuxでは、

/etc/my.cnf
データディレクトリ/my.cnf

等に作成します。 my.cnf のサンプルは、 share/mysql 配下に作成されています。

Windows では、インストールディレクトリ等に用意します。 ウィザードで作成することもできます。

サーバーの文字コードを変更する前に、現在の設定を確認します。

現在の設定を確認するには、 status を使用します。

mysql> status;
--------------
./mysql  Ver 14.7 Distrib 4.1.8, for pc-linux (i586)

Connection id:          7
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          less
Using outfile:          ''
Using delimiter:        ;
Server version:         4.1.8
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    ujis
Db     characterset:    ujis
Client characterset:    ujis
Conn.  characterset:    ujis
UNIX socket:            /tmp/mysql.sock
Uptime:                 102 days 5 hours 57 min 3 sec

Characterset は、4種類定義されています。 これらを変更するには、オプションファイルに以下のように設定します。 下記例は、 Shift-JIS に設定しています。 設定する値は、 SHOW CHARACTER SET で確認できます。

[client]

default-character-set=sjis

[mysqld]

port=3306
default-character-set=sjis

[mysql] 
default-character-set=sjis 

設定できたかどうかは、 status を実行して確認します。

bluenote by BBB