人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【PHP】mbstring.http_outputが有効にならない

現在.htaccessに下記設定を行っていますが
EUC-JPで書かれたPHPファイルをブラウザで表示した際に
本来SJISで出力されるはずのものが、EUC-JPで出力されてしまっており
どうしたものかと頭を悩ませております。

どうやらmbstring.http_outputが無視されているような感じを受けます

どなたか解決方法に心当たりのおられる方がいらっしゃいましたら
ご回答いただければと思います。

■サーバ環境

OS :CentOS 5.3
PHP :5.2.9
APACHE :2.2.12

■.httaccess
php_value mbstring.detect_order auto
php_value mbstring.language Japanese
php_flag mbstring.encoding_translation On
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.http_input SJIS
php_value mbstring.http_output SJIS

※本設定は同ディレクトリ内にphpinfo()と書いたPHPファイルを用意→実行し、設定が反映されていることを確認しています。
※今回問題となっているEUC-JPでWEB出力されてしまうPHPファイルも同ディレクトリ内にあります。

●質問者: jayz
●カテゴリ:インターネット ウェブ制作
✍キーワード:.htaccess Apache CentOS EUC-JP ON
○ 状態 :終了
└ 回答数 : 3/4件

▽最新の回答へ

1 ● kirara_namazu
●27ポイント

header("Content-type: text/html; charset=shift_jis");

を記入されてテストしてみてはいかがでしょうか

URLはダミーです

なまずの独り言 - 閉塞感をぶち破るために・・・


2 ● ワテ
●27ポイント

状況から考えると、

HTTPヘッダーで

Content-type: text/html; charset=EUC-JP

を吐いているため

ブラウザ側で「EUC-JP」で認識されていると思いますので、

1ページだけであれば1の方の方法で対処できるかと思いますが、

全体に適用させたい場合は、

アクセスコントロールファイルに

php_value default_charset shift_jis

を追記してみてはいかがでしょうか。

◎質問者からの返答

回答ありがとうございます。

質問時の内容が少しまずかったかもしれません。

HTTPヘッダはSJISとなっているようで、ブラウザには文字化けした日本語が表示されています。

この状態でブラウザのエンコード設定はSJISですが、これをEUC-JPに設定しなおすと

日本語が正常に表示される状態となっています。

(EUC-JPで書かれたコードがSJISに変換されることなく表示されている)


3 ● ワテ
●26ポイント

そういう内容でしたか・・・、

リベンジです。

私の場合は、最初からmbstring.http_outputの内容を信用していないので、

EUC-JPで作成したものをSJISで出力する必要がある場合は、

HTMLタグの開始タグの前でApacheの出力バッファを取得するようにして、

HTMLタグの閉じタグ以降で

その出力バッファを変数に入れて、

文字コード変換をかけて出力してました。

以下がサンプルコードです。

※PHPタグ正常に表示されないので

全角で書いてます。

------------

<?php

ob_start();

?>

<html>

?省略?

</html>

<?php

header("Content-type: text/html; charset=shift_jis");

$contents = ob_get_clean();

mb_convert_variables("SJIS","EUC-JP",$contents);

$search_string = 'charset=euc-jp"';

$replace_string = 'charset=shift-jis"';

$contents = str_replace($search_string,$replace_string,$contents);

echo $contents;

?>

------------

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ