中級プログラマの自宅でPHP ブログ

自宅用ポータルシステム「MyHome Portal」をオープンソースで公開。MyHome Portalの説明とエンハンス情報。

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で作り直すことにしました。