PHP-4.2.1 Apache 1.3.24 linux(kernel 2.4.18)

./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--enable-mbstring \
--enable-mbregex \
--enable-mbstr-enc-trans \
--with-pgsql=/usr/local/pgsql \
--enable-sockets

---e.hdml (EUC)
<hdml version="3.0">
<display>ほげほげ</display>
</hdml>

---p.php
<?php
mb_http_output('SJIS');
ob_start('mb_output_handler');

header('content-type: text/x-hdml; charset=shift_jis');

require './e.hdml';
?>

p.phpにアクセスするとEUCなんです。
e.hdmlをshift_jisにコンバートして試すと、SJISなんです。
php.iniのmbstring.http_outputなどをいじっても結果は変わりません。
requireではなく、fopenで読み込みechoしても結果は変わりません。

私、何か勘違いしてますか?