【MySQL】skip-character-set-client-handshake って何?@文字化け対策
my.cnfにて設定できる項目です。
そのままの意味で、勝手な変換を行わず、
default-character-set = utf8
などの設定に従います。
[mysqld]のセクションのところに書いておくとOKです。
●記述例
[mysqld] default-character-set = utf8 skip-character-set-client-handshake
普通にphpからMySQLに接続しているだけなのに、なぜか文字化けする場合にお試しあれ。
この現象には、php が使用している MySQL のライブラリが影響しています。
自分でコンパイルしたライブラリなら大丈夫かもしれませんが、よそから持ってきた場合、phpからの接続のとき、クライアントの文字コードなどが勝手にlatin1やujisになります。
my.cnf を無視しているかのような動作をします。
設定ファイル my.cnf を触れない場合の代替案としては、
接続のたびにあらかじめ、次のSQLを実行しておくという方法もあります。
set names utf8;
設定ファイルを変更したら、mysqldは再起動ですよー。忘れずに。
【MySQL】skip-character-set-client-handshake って使わなくてよくなった@文字化け対策 at softelメモ 2011年1月2日 16:13
[…] 以前から、MySQL+php環境で文字化けが発生するとき、my.cnfの方に skip-character-set-client-handshake の設定を入れて文字化けを防止する対策をよくおこなっていた。 […]