« PHPでQRコードを作ってみよう | トップページ | GoogleのSitemaps(サイトマッププロトコル)を作ろう »

2006年11月20日

MySQLの文字化け対策

MySQL4.0以前のバージョンからMySQL4.1以上にバージョンアップした際に文字化けが発生することがあります。
もちろん文字化けが起こるのには原因があり、私が初めてこの問題が起こった時に、調査に丸一日かかりました。
今回は、その対策を記述しようと思います。

対策は至って簡単です。MySQLの設定を変えてあげるだけです。
MySQLの設定ファイルが何処にあるのか分からない方もいらっしゃると思いますので、ディレクトリパスを記述しておきます。

・Windows XP C:\WINDOWS\my.ini

・Linux
/etc/my.cnf

尚、環境やインストール時の設定により変わっていることがありますので見つからない場合は、ファイル名で検索してみて下さい。
Linuxの場合は、SSH等でアクセスした後に「find / -name *my.cnf」で検索することが出来ます。ただし、アクセス許可のないページは「find: アクセス許可がありません」等のメッセージが出ます。(場合によっては大量に出ます)

設定ファイルが見つかったら、そのファイルをテキスト編集エディタで開いて下さい。

[mysqld]

という記述があるはずです。その下に
default-character-set=ujis

と付け足してください。
上記はEUCの場合のみですので、
・Shift_JISの場合
ujis の部分を sjis
・UTF-8の場合
ujis の部分を utf8
として下さい。
また、「[mysqld]」がない場合は「[mysqld]」と一緒に記述して下さい。
[mysqld]
default-character-set=ujis

MySQL4.0以前でも、この設定をしていない場合、全角の平仮名やカタカナの並び替えがうまく出来ません。並び替えを行う場合は、必ず設定する必要があります。

トラックバック

このエントリーのトラックバックURL:
http://www.s-memo.net/mt/mt-tb.cgi/21

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)