EUC_JPの文字化け(Apache,php)

UbuntuのApacheを入れて古いEUCのPHPのコードを動かしたら文字化けしたのでメモ

Apacheの設定であれば、「AddDefaultCharset」かと思ったのですがUbuntuのApacheはデフォルトOffのようなのでなんでやんと思ったら、PHP側にもそんな設定があったのをしらなかった。

◆UTF-8以外のコンテンツがある場合はApacheでデフォルトのCharasetをOffにする
httpd.confなど

AddDefaultCharset UTF-8
→AddDefaultCharset Off

◆phpのCharset設定
php.ini

default_charset = "UTF-8"
→default_charset = ""   (無しにする)

※「PHP 5.6.0 以降は “UTF-8” がデフォルトになり」だった模様
(CentOS6のPHP5.4.16が多かったので知らんかった)

 
 
◆確認
デベロッパーツール(Network)などで確認すると「content-type」が「text/html; charset=UTF-8」となっているので「charset=UTF-8」を外したい。
※変更前
Before
※変更後
Before

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA