激しく既出なのかもしれませんが...

スクリプトはEUC-JPで書いてます。
mb_internal_encodingもEUC-JPです。
htmlをはき出す時は、以下のようにしています。
header( "Content-type: text/html;charset=Shift_JIS" );
ob_start("mb_output_handler");
print $buf;
ob_end_flush();
これで、EUC-JPをSJISに変換して出しています。

ところが、xhtmlの場合、ヘッダーを
header( "Content-type: application/xhtml+xml;charset=Shift_JIS" );
とすると、文字コードが変換されません。

これはこういうものなんですか?
なんか間違ってますか?