[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 )