MySQLで日本語が正しく表示されない場合

10月 26, 2009

MySQLで日本語が正しく表示されない時の、スタンダードな対処方。
いろんな資料やサイトを見ていたら訳が分からなくなってきたので、ひとまず消化するためにメモだけでも残しておこうと…

# /bin/myql -u root -pdbpass –default -character-set=eucjpms

または、

mysql > SET NAMES EUC-JP;


…が、上記で解決しない場合もある。
以下、確認しておくことのメモ。

まず、以下のコマンドでキャラクタセットを確認する。

mysql > SHOW VARIABLES LIKE ‘char%’;(またはSTATUS;)

※文学コードの設定はDB毎に持っているため、USE DB_NAME;としてから
キャラクタセットを確認するとよい。


my.cnfでサーバとクライアント側のキャラクタセットが一致しているか確認。
ここで編集作業が発生したら、編集後MySQLを再起動する。
※編集した設定はこれより新たなDBを作成したら反映されるが、既存のDBは古いままとなる。。。

my.cnfでの文学コード指定時に、追加で以下の記述をする。

skip-character-set-cliant-handshake
(MySQLが勝手に内部変換をしないようにするため)


設定例はこっちに書いた。
my.cnfの設定例

このテーマについては既にあちこちで書かれているが、以下のページは特にナイスだった。
MySQL文字化け問題を本気で直す


Categories: MySQL