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」を外したい。
※変更前
※変更後
カテゴリー: Linux
最近のコメント