「今更こんなことやっちゃうとはなぁ」というたぐいの話です。
mysql_query(“SET NAMES ‘CP932′”, $conn);
とかやっちゃうとMySQLには文字コードを教えてるけどPHPには伝わらないので
mysql_set_charset(‘CP932’);
としてPHPにも教えてあげなさいとバグるぜって話。セキュリティホールにもなります。
シフトJISには文字コード中に\(5C)が含まれる文字があるのでPHPさんがUTF8気分で mysql_real_escape_string すると\が挿入されてバグるわけです。
昔、Rails関係でも SET NAMES ダメ絶対って話を読んだような。UTF8ばかり使っててボケたかね。
詳しくは『SET NAMESが危険な理由のおさらい』に簡潔にまとめてくださってるのでそちらをどうぞ。