MySQLの最近のブログ記事

MySQLで文字化けで解決したかに見えた文字化け問題ですが、テストデータベースから本番データベースに移行した際に、再び、「?????」の表示になった。

どうも、データベースを作成した際の文字コードが違っていたらしい。

コマンドラインから mysql を上げ、以下のコマンドを実行。

show create database データベース名;

テストデータベースは、DEFAULT CHARACTER SET utf8 と表示されるが、本番データベースは、DEFAULT CHARACTER SET latin1 になっていた。そもそもデータベースを作成するところが違っていた。

phpMyAdminでデータベースを作る際の指定がなってなかった。
照会順序を、utf8_general_ci というやつにしないといけない。

まずは、phpMyAdminの「操作」タブの一番下のところで、照会順序をutf8_general_ciにする。

テーブルを作成する際、テキスト系の型(textとか)の照会順序は、デフォルトでこの照会順序が使われるみたいです。

そこで、テーブルの列の照会順序も変更します。そもそも、ここがutf8_general_ciになっていないことが、文字化けの根源です。ここがutf8_general_ciになってないと、いくら set names utf8 を指定しても文字化けは直りません。

それか、テーブルをcreateする際に、しっかりと、

DEFAULT CHARSET=utf8

と、文字コードを指定することです。

MySQLで文字化け

| コメント(1) | トラックバック(0)

このブログに文字化けという事を何回書いただろうか・・・

今回も、MySQLの文字化けで、2日悩んでしまった。

PHPもMySQLもUTF-8。そのシステムのデータをちょこっと利用するので、新しくPHPを書いたら、文字化け・・・
もちろん、UTF-8で。

mb_convert_encodingばかり疑ってた。同じ文字コードなので、余計に分からなかった。
ドツボにはまるとこんなもんである。

いろいろ調べたら、
http://wota.jp/ac/?date=20061011
なサイトを発見。

おや・・・

どこかで見たことがあるような内容だ。

どこだ!どこだ!どこだ!

ウェブページ

Powered by Movable Type 4.261

このアーカイブについて

このページには、過去に書かれたブログ記事のうちMySQLカテゴリに属しているものが含まれています。

前のカテゴリはMovableTypeです。

次のカテゴリはOpenPNEです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。