web関連
古いサイトを新しいサーバーにあげたら文字化けした件
10年くらい前の静的なhtmlでPHPを使ってるサイトを、古いサーバーから新しいサーバーにお引越ししたらめちゃくちゃ文字化けしたので備忘録
ちなみにさくらサーバー
PHP5.5以下を使う必要性がある
PHP5.6以上を使うと文字コードが「Shift_JIS」、または「EUC-JP」の時文字化けするみたい。
数百ページあったので古いサイトの入ってるディレクトリだけPHP5.4を使ったら解決した
さくらインターネットだったので↓使った
▼参考
https://www.php-factory.net/blog/?id=10746568e0ffbb13b0
その他調べたメモ
PHPの方で強制的に「utf-8」に変換されるって記事見たから
PHPの文字コードを「Shift_JIS」に変えようとしたら上手くいかなかった
php_value default_charset "SHIFT_JIS"
php_value mbstring.internal_encoding "SHIFT_JIS"
php_value mbstring.http_output "SHIFT_JIS"
書き方も悪いんだと思うけどそもそも「Shift_JIS」とPHPの相性悪いみたいっすね
CGI使ってるかモジュール使ってるかでやり方変わってくるらしい
▼参考
https://goo.gl/fRAi4t
文字コードって「head」タグ内の宣言とファイルの文字コードって別ものなんすね
普段文字コード意識しないから「head」内の文字コード変更すればファイルの文字コードも変わると思ってた
普段文字コード意識しないから「head」内の文字コード変更すればファイルの文字コードも変わると思ってた