電子書籍の厳選無料作品が豊富!

内部コードEUC-JPで、

mb_http_output('SJIS');
ob_start('mb_output_handler');

として、利用していたのですが、
PHP4.3から、header()で、text/***以外を使うと、
mt_http_outputが自動的にpassになってしまいます。

JavaScriptを動的に生成するときに、
自前のバッファ変数にためて、
変換するみたいなことをしないといけないのですが、
もうちょっと、スマートな方法あるでしょうか?

A 回答 (1件)

う~ん、いつのバージョンからかは失念しましたが、PHP4の仕様です。



<?php
function convert($buffer) {
 return (mb_convert_encoding($buffer,"SJIS"));
}

mb_http_output("pass");
ob_start("convert");
echo "ほげほげ!"
?>
の様に強制的に変換してしまうのは駄目なのでしょうか?

何も
ob_start('mb_output_handler');
しか指定できないわけではありません。
自作関数を指定できます。

参考URL:http://jp.php.net/manual/ja/function.ob-start.php
    • good
    • 0
この回答へのお礼

うまくいきました。

ob_start()の機能について、十分理解していませんでした。

ありがとうございました。

お礼日時:2003/05/24 22:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!