毎度のことながら、phpは文字化けが激しい言語だと思うのは私だけではないはずです。
それでもやはり、ほとんどのレンタルサーバで使えるので「我慢して」使っていると言っても
過言ではないかもしれません。
というか結構phpってお手軽で好きだったりします(笑
cakephp(1.2)でもやはり文字化けが発生したのでメモをとりました。
ただし、これが答えというわけではなく、使っている環境によって違ってくると思いますので
鵜呑みにしないでください。
PDTの設定
今回、cakephpを取り扱うことになったので、PDTというeclipseベースの開発環境を導入しました。
eclipseはjavaなどの多岐にわたる言語を扱うことができますので、初期設定のままでは
phpファイルを扱う文字コードがutf-8になっておりません。
そこで、この文字コードを修正してあげます。
- 「ウィンドウ」→「設定」を選択する。
- 「コンテンツタイプ」の中の「テキスト」を展開し「phpコンテンツ・タイプ」を選択する。
- 「デフォルト・エンコード」の欄に「utf-8」と入力して「更新」ボタンをクリックする。
- 「ok」ボタンをクリックする。
これでエディタの環境をはokです。
データベース(mysql)周り
データベース周りについては使っている環境により異なるのでなんともいえませんが、
とりあえず気をつけるところは次の点をチェックしています。
- データベースの標準の文字コード(my.ini)
- テーブルとフィールドの参照順序が「utf8_general_ci」か。
- cakephpの「app/config/database.php」の接続する際の文字コードの指定は適切か。
UTFなら「’encoding’=>’utf8’」で指定されているか。
ほかにもphp.iniなどの設定もあるでしょうが、今時の環境であればおそらく「utf-8」だと
思いますので割愛します。
サーバを引っ越した際に文字化けすることが頻繁に発生しがちです。
phpの文字コードの設定、mysqlの文字コードの設定、cakephpの接続時の
文字コードの設定などを、変更しながら地道に調整してみるのがいいのかもしれません。