PHP バージョン変更後、レイアウトが崩れたり文字化けが発生する。


PHP のバージョン変更後、以下の現象が発生することがあります。

  • 文字化けが発生する
  • CSSを利用しているサイトの一部でレイアウトが崩れる
  • WordPress 管理画面のレイアウトが崩れる
  • WordPress でプラグインのインストールや削除時にエラーになる


PHPで日本語などのマルチバイト文字を扱う際、文字コードを適切に設定しないと文字化けなどのトラブルの原因になります。
PHP 5.6.0 以降は “UTF-8” がデフォルトになり、htmlentities() や html_entity_decode() そして htmlspecialchars() で encoding パラメータを省略した場合は、このデフォルト値を利用する仕様に変更になっています。

以下のサイトをご確認ください。



これらの原因により、文字コードを適切に設定していないとPHPプログラムが正常に終了しないため、文字化けやレイアウト崩れが発生します。



対策といたしまして、下記内容を記述した .htaccess ファイルを該当のディレクトリに設置することで回避可能です。

PHP_value default_charset none
PHP_value output_handler none


共用サーバーで CGI 版 PHP をご利用の場合は、 下記内容を記述した .user.ini ファイルを該当のディレクトリに設置することで回避可能です。

output_handler=none
default_charset=none
評価点数: 3.67 (3 件の投票)