[PHP-users 13597] [長文] ezweb と mbstring.http_output=SJIS
Takashi Seki
php-users@php.gr.jp
Wed, 26 Feb 2003 16:40:50 +0900
[長文で失礼します。]
こんにちは、関隆です。
PHP Version 4.2.2
Apache/1.3.26
php.ini
[PHP]
output_buffering = On
output_handler = mb_output_handler
[mbstring]
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none;
ソースはEUCで記述
という環境で携帯3キャリア対応のWEBアプリを作成しているのですが、
文字コードの問題で、つまづいております。
以下のコードを実行すると EZWEB のみ文字化けします。
PCでアクセスすると、どうもEUCのまま送信されているようなので、
header("Content-Type: text/x-hdml; charset=EUC-JP");
とすると、うまくいきます。
どなたか、ご教授戴けると幸いです。
どうぞよろしくお願い致します。
----- ソースココから
<?php
//----------------------------------
// HTTPヘッダのユーザエージェントによってターミナルタイプを決定
if ( ereg("^DoCoMo/", $_SERVER["HTTP_USER_AGENT"]) )
{
$terminal_type = IMODE;
}
else if ( ereg("^J-PHONE/", $_SERVER["HTTP_USER_AGENT"]) )
{
$terminal_type = JPHONE;
}
else if ( ereg("UP\.Browser/", $_SERVER["HTTP_USER_AGENT"]) )
{
$terminal_type = EZWEB;
}
else
{
$terminal_type = EZWEB;
}
switch ($terminal_type) {
case IMODE:
$head = '<html>'."\n".
'<head>'."\n".
' <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">'."\n".
' <title>'.$title.'</title>'."\n".
'</head>'."\n".
'<body bgcolor="#FFFFFF" text="#000000" link="#0000FF">'."\n";
$foot = '</body>'."\n".
'</html>'."\n";
break;
case JPHONE:
$head = '<html>'."\n".
'<head>'."\n".
' <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">'."\n".
' <title>'.$title.'</title>'."\n".
'</head>'."\n".
'<body>'."\n";
$foot = '</body>'."\n".
'</html>'."\n";
break;
case EZWEB:
header("Content-Type: text/x-hdml; charset=Shift_JIS"); // NG
// header("Content-Type: text/x-hdml; charset=EUC-JP"); // OK
$head = '<HDML VERSION="3.0" PUBLIC="TRUE" MARKABLE="TRUE" TTL="0">'."\n".
'<ACTION LABEL="" TYPE="ACCEPT" TASK="NOOP">'."\n".
'<DISPLAY NAME="presents" TITLE="'.$title.'">'."\n";
$foot = '</DISPLAY>'."\n".
'</HDML>'."\n";
break;
}
print $head."あいうえお、アイウエオ、愛飢え男".$foot;
?>
----- ソースココまで
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
関 隆 (SEKI, Takashi)
---------------------------------------
[E-mail] hawk.seki@nifty.com
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=