さくらレン鯖でMDB2のquote,escapeメソッドでエスケープ処理時に文字化けする#2
あれから色々調べて行き着いたところ。
MDB2のescape()やquote()は内部でmysql_real_escape_string()を使用してる。
このmysql_real_escape_string()はMysqlののcharacter set clientを元にエスケープ処理してくれる。
つまりMysqlとクライアントの文字コードの設定によっては文字化けが起こったり正しくエスケープしてくれなかったりするみたい。
でもcharacter set clientの値utf8になってるんだけどなぁ・・・
それでもまだ化ける。
スクリプト側で対応するしかないのかな。
PHP: mysql_real_escape_string - Manualから引用
<?php //擬似エスケープ処理関数 function escape($str){ $search=array("\\","\0","\n","\r","\x1a","'",'"'); $replace=array("\\\\","\\0","\\n","\\r","\Z","\'",'\"'); return str_replace($search,$replace,$str); } ?>