「SHIFT-JIS」形式のhtmlファイル上で、PHPが動かなかったり、文字化けする件の対処法

PHPプログラムは基本、hogehoge.phpと言った具合で、.phpの拡張子のついたファイル上で動かしますが、index.htmlのようなHTMLファイル上で、PHPを動かしたい時って、よくありますよね。

そんな時は、.htaccessファイルを同ディレクトリに置いて、

と記述すれば動いたのですが、最近の新しいPHPだと、

といった具合で、エラーが出てしまいました。

スポンサーリンク

HTMLファイル上でPHPが動かない

この対処法は、今回利用しているサーバーはCORESERVERならば、.htaccessへの記述を、

と、利用しているサーバーのPHPのバージョンに合わせた記述をすればOKです。PHP7.4ならx-httpd-php74cgi、PHP8.3ならx-httpd-php83cgiなどです。他のサーバーでも対処法を用意されているはずなので、各サーバーのFAQやヘルプを調べてみてください。

HTMLファイル上でPHPを動かしたら文字化けした

PHPが動いた!しかし…、様子が変です。今度は文字化けしてしまいました。

HTMLファイルの文字コードは、最近はUTF-8にすることが多いですが、中には未だにSHIFT-JISで作られているものもあります。

SHIFT-JIS形式のHTMLファイル上でもPHPは動くのですが、最近のPHPはデフォルトの文字コードがUTF-8で指定されているため、上記記述を.htaccessにしても、UTF-8として認識してしまうため、文字化けしてしまうのです。

これまではどうだっかというと、PHPのデフォルトの文字コードが指定されてませんでした。よって、今度は.user.iniファイルを同ディレクトリに置いて、

と記述すれば、デフォルトの文字コードが””と空となり、文字コードが指定なしとなるため、SHIFT-JISでも文字化けせず動くようになります。

困っている方は、お試しください!

今日のわかった

バージョンが上がると、これまで適当だったところが、厳密になることが多いです。

未分類
スポンサーリンク
当ブログの記事に共感していただけたら、また読みに来ていただけると嬉しいです。読んでくれる方の数が多くなると、更新するヤル気に繋がります(^^)
フォロー、ブックマークしていただけると、ブログ更新を見逃しません

コメント

タイトルとURLをコピーしました