特定ファイルのみ文字コード変換
現在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なのでしょうか?
宜しくお願いいたします。
お礼
回答ありがとうございます。 試してみたところちゃんと変換でき、バイナリモードで出力することによって上手くいきました。