揮発性のメモ2

http://d.hatena.ne.jp/iww/

mysqlの文字コードをEUC-JPにする

EUC-JPの時代に作ったプログラムをUTF-8なサーバに移植するときとか用。

/etc/sysconfig/i18n の設定

可能ならシステム全体をEUC-JPに統一する。

LANG="ja_JP.EUCJP"

/etc/my.cnf の設定

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

# for EUCJP
default-character-set = ujis

[client]
# for EUCJP
default-character-set = ujis

[mysqldump]
# for EUCJP
default-character-set = ujis

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

システム全体がまだUTF-8なときは、次の設定も必要。

[mysqld]
skip-character-set-client-handshake
character-set-server = ujis
collation-server = ujis_japanese_ci

DBの文字コード

データベースを作るときにちゃんと指定する。指定し忘れてたら変更する。

mysql> CREATE DATABASE hoge CHARACTER SET ujis;
mysql> ALTER DATABASE piyo CHARACTER SET ujis;

確認

mysql> show variables like "char%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | ujis                       |
| character_set_connection | ujis                       |
| character_set_database   | ujis                       |
| character_set_filesystem | binary                     |
| character_set_results    | ujis                       |
| character_set_server     | ujis                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

character_set_systemは気にしない


参考にさせていただいたページ