0
0

More than 3 years have passed since last update.

ApacheのAddDefaultCharsetを変更しても一部文字化けが解消されない

Posted at

概要

CentOS5x->CentOS7xへのリプレースを実施したときのことです。
旧環境では文字化けしていなかった一部のhtmlファイルの日本語が新環境では文字化けしていることが確認されました。

調査

対象htmlファイル内ではcharsetがshift-jisに指定されていました。
一方、ApacheのAddDefaultCharset utf-8(旧環境ではOFF)でした。なるほど。
そこで、新環境でも同じくこれをOFFにしたところ、、、なんと文字化けは解消しませんでした。

解決

調査の過程でphp環境の影響が浮上しました。
php.ini内でcharsetがutf-8と指定されており、これがApache起動時の設定パラメータを上書きしていたと思われます。

php.ini
; PHP's default character set is set to UTF-8.
; http://php.net/default-charset
default_charset = ""
; If empty, default_charset is used.

上記のとおり変更を反映させた後、対象htmlファイルの文字化けがなくなったことを確認しました。
※ApacheのAddDefaultCharset はOFF

phpのデフォルト設定でUTF-8が指定されるようになっていたようです。
対象ファイルは静的htmlファイルだったのでphpの設定との関連性になかなか気づけませんでした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0