[PHP-users 8906] header() を使うと mbstring.http_output が無効に??

Eidome Noriko php-users@php.gr.jp
Wed, 24 Jul 2002 18:09:06 +0900


はじめまして。えいどめと申します。

header() 関数を使うと、mbstring.http_output で設定している文字コードで
出力されません。

今は SJIS に設定していますが、EUC で出力されます。
header() を使わない場合は、きちんと SJIS で出力されていました。

今は4.2.2を使っていますが、4.2.1でも同様のことが起こりました。
4.1.2 は問題なく SJIS で出力されていました。
どのバージョンもphp.ini の設定は同じで、コンパイルオプションには
--enable-mbstr-enc-trans と --enable-mbstring を含んでいます。


解決方法をご存知の方がいらっしゃいましたら、ご教示いただけないでしょうか。



// OS などの情報
OS: Debian GNU/Linux sid
Webserver: Apache/1.3.26 PHP/4.2.2
Kernel: 2.4.18-686

// コンパイルオプションを以下のようにして 本家から取って来た deb
   を作り直しています。
--enable-memory-limit \
                --with-layout=GNU \
                --enable-calendar \
                --enable-sysvsem \
                --enable-sysvshm \
                --enable-track-vars \
                --enable-trans-sid \
                --enable-bcmath \
                --with-bz2 \
                --enable-ctype \
                --with-db2 \
                --with-iconv \
                --with-ndbm \
                --enable-exif \
                --enable-filepro \
                --enable-ftp \
                --with-gettext \
                --enable-mbstring \
                --with-pcre-regex=/usr \
                --enable-shmop \
                --enable-sockets \
                --enable-wddx \
                --disable-xml --with-expat-dir=/usr \
                --enable-yp \
                --with-zlib \
                --without-pgsql \
                --enable-mbstr-enc-trans \
                --enable-mbregex \
                --with-openssl=/usr


// php.ini の mbstring に係るところ
output_buffering     = On
output_handler       = mb_output_handler
default_charset      = Shift_JIS
mbstring.http_input  = auto
mbstring.http_output = SJIS
mbstring.internal_encoding = EUC-JP
mbstring.substitute_character = none

http://ns1.php.gr.jp/pipermail/php-dev/2001-October/000065.html
は関係あるんでしょうか?

--
Eidome Noriko ( noriko@dino.co.jp )