CodeIgniter 3.0入れたら文字化けしたので.htaccessでphp.iniを読むように設定した

いつもシェアしていただいてありがとうございます。これからも「ちょいとお役立ちして嬉しくなる」記事の配信を目指しています。ポチッと↓のボタンからシェアしてください。

この記事を書いた背景

CodeIgniter 3.0を使おうとサーバーにセットアップしたのは良いのですが、viewに日本語書くと化けるという問題が発生。

困るので直したのでメモ。

原因

調べた順番は次の通り。

  1. ファイルのエンコードを確認し、問題なし。
  2. Google Chromeの開発者ツールでhttpリクエスト/レスポンスを見てみる、文字化けている。
  3. 素のHTMLファイルを置いてみる、問題なし。
  4. phpinfo()見てみる、mbstringのLocal ValueがEUC-JP、ダメ。

ということで、PHPの設定の問題でした。

解決方法

PHPの設定を変更すれば良いのですが、レンタルサーバーなのでPHPの設定ファイルを用意してApache側から読み込む用に設定すればOKです。

次の2ステップで解決です。

php.iniに下記の内容を書いて保存します。

mbstring.script_encoding = UTF-8
mbstring.internal_encoding = UTF-8
mbstring.language = Japanese

.htaccessで上記のphp.iniを読み込む用に設定します。

setenv PHPRC /path/to/php.ini/

新しい設定が反映された状態のphpinfo()の実行結果。

phpinfoの結果

phpinfoの結果

まとめ

Web系の開発だと、今回の様に使っているフレームワークの問題なのか、PHPの設定の問題なのか、Apacheの問題なのかなどを切り分けることが大事ですね。
※システムによってはDBの設定なども含まれますね

参考になれば。

いつもシェアしていただいてありがとうございます。これからも「ちょいとお役立ちして嬉しくなる」記事の配信を目指しています。ポチッと↓のボタンからシェアしてください。

山本をフォローするだけでちょっぴりお得な情報が見つかりますよ↓↓↓