[PHP-users 14607]HDMLでの文字化けについて

Yoshihiro Harada wharada @ mailss.jp
2003年 4月 13日 (日) 16:40:23 JST


はじめまして。

今、PHPでHDMLを出力するスクリプトを書いていましたが、
日本語の部分が ???????C? などという文字に化けてしまって
プログラムどころではなくなっております。

MLなど HDML をキーワードに探していたのですが、
結局解決せず初めて質問するに至りました。
(結構急ぎの件なので。。。)

環境は
Redhat 7.2
PHP 4.1.2
configure '--enable-mbstring' '--enable-mbstr-enc-trans'
'--with-pgsql=/usr/ local/pgsql'
'--with-apxs=/usr/local/apache/bin/apxs' '--with-gd=/usr' '--with-jpeg-
dir=/usr' '--enable-ftp'
Apache 1.3.27
モジュール版で動かしています。
Apache に 現在のところ hdml の mime は設定していません。

ソースは以下のとおりです。
EUC を秀丸で記述後、文字コードはそのままでUPしています。

php.ini は
[mbstring]
;mbstring.internal_encoding = EUC-JP
;mbstring.http_input = auto
;mbstring.http_output = SJIS
;mbstring.detect_order = auto
;mbstring.substitute_character = none;

となっております。

<?php
mb_http_output("SJIS");
ob_start("mb_output_handler");

//Cache control=============================================
header("content-type: text/x-hdml;charser=Shift_JIS");
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); // HTTP/1.0

//セグメントプランを頼んでいないとこの会員さんからアクセスされた
echo "<HDML VERSION=\"3.0\" PUBLIC=\"TRUE\" TTL=\"0\">\n";
echo "<DISPLAY>\n";
echo "aaaこんにちは世界\n";
echo "</DISPLAY>\n";
echo "</HDML>\n";
exit;
?>

aaa はでますが、以下の日本語は化け化けです。
お休みのところ申し訳ありませんが、
ご助力のほどお願いいたします。

原田 義弘




PHP-users メーリングリストの案内