[PHP-users 7108] Re: hdmlコンテンツが出力されない
HOTTA Michihide
php-users@php.gr.jp
Wed, 24 Apr 2002 12:08:24 +0900
堀田@諫早市です。
On Tue, 23 Apr 2002 21:57:37 +0900
Subject [PHP-users 7103] Re: hdmlコンテンツが出力されない
Yasuo Ohgaki <yohgaki@yahoo.co.jp> wrote:
> > ところが、4.2.0 で検証してみますと、全く出力されないというバグは
> > 解消したものの、本来の目的である mb_output_handlerによるコード変
> > 換が動作していないようです(これが他の問題?)。header()をコメン
> > トアウトするとちゃんと動作します。
>
> この不具合を直した時に、この事ににも気が付いたのですが4.1.xでは
> コード変換していたのでしょうか?(後でソースを見ます)
>
> Content-Typeヘッダを送信するとコンバートしなくなるように書い
> てあります。変換したい場合は、ini_set()でContent-Typeを指定
> すると動作するはずです。
後述のパッチが当たったソースで、以下のスクリプトが正常に動くこと
を確認しました。迅速な対応に感謝します。
<?php
$PHP_VERSION=PHP_VERSION;
if ($PHP_VERSION < "4.2.0")
header("Content-Type: text/x-hdml; charset=Shift_JIS\n");
else
ini_set('default_mimetype', 'text/x-hdml');
print <<<__EOD__
<HDML VERSION=3.0 MARKABLE=TRUE TTL=0>
<DISPLAY NAME=test>
PHP_VERSION=$PHP_VERSION<BR>
あいうえおかきくけこ<BR>
たちつてとなにぬねの<BR>
ABCDEFGHIJ<BR>
</DISPLAY>
</HDML>
__EOD__;
?>
> PHP 4.2.0-devにもコミットしておいたので正式なパッチは
> http://cvs.php.net/diff.php/php4/ext/mbstring/mbstring.c?r1=1.48.2.4&r2=1.48.2.5&ty=u&Horde=2acfeb96b9551fec42c1058dd6189e8d
> からどうぞ。
これですが、typo があったようです。以下、パッチのパッチです(^^;
--- mbstring.c.orig Wed Apr 24 09:35:01 2002
+++ mbstring.c Wed Apr 24 09:20:51 2002
@@ -1473,7 +1473,7 @@
MBSTRG(outconv) = NULL;
}
if (encoding == mbfl_no_encoding_pass) {
- RETRUN_STRINGL(arg_string, arg_string_len, 1);
+ RETURN_STRINGL(arg_string, arg_string_len, 1);
}
/* if content-type is not yet set, set it and activate the converter */
if (SG(sapi_headers).send_default_content_type ) {
--
堀田 倫英 <hotta@net-newbie.com> <http://www.net-newbie.com>