このエントリーをはてなブックマークに追加
はてなブックマーク - MySqlインサート時の文字化け
Share on Facebook
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
MySqlインサート時の文字化けLove Tokyo

最近は全部UTF8で作成しちゃってて
PHPも文字コードの扱いが良くなっていたので
全然気にしなくなってしまったのですが
引き継いだ環境で表の文字がエスケープされてしまう
状態になったので変換が必要でした
PHP側とMySqlの文字コードが同一の場合意識しなくていいのですが
違う場合はコネクトした後に
set names ujis
等のクエリを発行する必要があります
EUCの場合 ujis
SJISの場合 sjis
UTF8の場合 utf8
を指定して
mysql_query(“SET NAMES ujis”)
のように指定する必要があります

一つのフィールド等をプログラム上で変更する場合は

mb_convert_encoding($str,’UTF8′,’SJIS’)
のように行います
この場合はSJISの入力をUTF8に変換する
SJISよりもSJIS-winを設定する方が良い場合があります
またMySqlの設定を見る場合
/etc/my.ini等で設定してありますので
こちらを確認してください
コマンドで確認する場合は

mysql> show create database データベース名;