※ ChatGPTを利用し、要約された質問です(原文:特定ファイルのみ文字コード変換)
特定ファイルのみ文字コード変換
このQ&Aのポイント
PHP5でUTF-8文字コードを使用しているが、特定のPHPファイルのみSJISで出力したい
いくつかの方法を試したが、ブラウザは常にUTF-8として認識してしまう
設定ファイルやコード内で文字コード指定を試したが、どこでも設定が認識されない
現在PHP5を文字コードUTF-8で使っているのですが
あるphpファイルのみSJISで出力したくて色々調べphp.iniを設定したのですが、どんなに強引(無謀)な方法を使ってもブラウザで表示すると文字コードがUTF-8で認識されてしまいます。
(mbstring.detect_order default_charset mbstring.http_output などを色々変更して試しました。)
<meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS" />も記述しています。
SJISで出力させたいファイルの保存文字コードはSJISです。
.htaccess でのフォルダ単位の指定も試したのですがダメでした。
phpファイル内に下記を記述してもダメでした。
header('content-type:text/html; charset=Shift_JIS');
試しに
$test
$test2 = mb_convert_encoding($test ,'Shift_JIS' ,'UTF-8');
なども試してみたのですが、何をやってもブラウザはUTF-8と認識してしまうため文字化けしてしまいます。
apacheの設定で AddDefaultCharset は設定していません。
php.iniの設定は素人なりにですがやりつくしたと思うのですが・・・httpd.conf なのかと思って調べても見たのですがUTF-8の記述すらありませんでした。
ちなみに普通のhtmファイルの場合はmetaタグの文字コードをSJIS指定しただけで正しくSJISで表示されます。
・・・というような状態なのですが、ブラウザにUTF-8と強制的に認識させてしまう設定はどこでされてしまっているのでしょうか? ・・・やはりphp.iniなのでしょうか?
宜しくお願いいたします。
お礼
ありがとうございます。 その後いろいろ試したところ、php.iniの設定部分に問題があったようで解決いたしました。 ありがとうございました。