Home » Featured, Headline, 設定

CakePHP 特定のブラウザでの文字化け対処方法

2013 / 2 / 1 コメント募集

またまたメモ的なアレ。

CakePHPで開発していて、私の環境ではなぜかMac版chromeでだけ文字化けが発生しまして。

文字化け

ブラウザの文字コードのリストはこのようになってました。

charlist

現象としては、
HTML内にUTF-8で文字コード指定してもMac版chromeだけで何故か文字化け発生。その他のブラウザ(Macはfirefox,safari、windows7のIE8,IE9,chrome,firefox)はOK。
UTF-8指定なのにISO-8859-1として認識されてしまう。再読み込みすればUTF-8になる。PHPファイルもUTF-8で記述。ってなところです。

ちなみに、CakePHP1.3.2、2.2.4、2.2.5で現象を確認しました。

ググってみたところ、海外のフォーラムで以下の記事を発見
Browser detects ISO-8859-1 encoding on UTF-8 cakePHP app
bootstrap.phpにヘッダーとして文字コードを指定すればいいらしい。

app/Config/bootstrap.phpに下記を追加

header('Content-Type: text/html; charset=utf-8');

すると、無事、文字化けから開放されました!

ところで、ソースコードを検索すると結構使われているcore.phpの84行目の

Configure::write('App.encoding', 'UTF-8');

という設定があるが、今回の件とは関係ないのだろうか?

今回の環境はレンタルサーバ(さくらのレンタルサーバ スタンダード)なので、apacheやphpの設定ファイル関連で発生したのかもしれませんが。

ま、同じ現象が発生した人には「こんな対処法があるよ」ということで。

[`evernote` not found]

どうぞこの記事に関するコメントをお寄せ下さい

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

これらのタグのみ使用出来ます:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.

*