PHPのShift-JISの文字化け対策どうしてますか?
「MyHome Portal」は、UTF-8で作成していますが、PHPを始めた頃はShift-JISで開発していました。
Shift-JISの場合、「表予申能十ソ試時事私」などが文字化けてしまう問題に遭遇し、苦労しました。ネット上で回避策を探したのですが、見つけられませんでした。
私が思考錯誤の上、編み出した(?)方法は、文字列の最後にスペース1文字を足してから、mysql_real_escape_stringするというものです。以下のような関数を作って処理していました。
function str_for_mysql($str) {
$str = $str . " ";
return ltrim(mysql_real_escape_string($str));
}
でも、あまり美しい解決策ではありませんね。で、結局Shift-JISはあきらめて、UTF-8で作り直すことにしました。