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

Yoshihiro Harada wharada @ mailss.jp
2003年 4月 13日 (日) 17:22:27 JST


中村様、はじめまして。

info @ activeseed.net wrote:
> 中村@ActiveSeedです。


> HDMLうんぬんの問題というより、データ出力時にSJISに変換していないようですよ
> ね。
mb_http_output("SJIS");
ob_start("mb_output_handler");
で変換と思っていましたが、私の勉強不足だったかもしれません。
呪文のように書き込んでいましたので。

先の2行も一応あやしんで、以下のようなスクリプトを組んで
やってみましたが、それでもダメでした。
<?php

class hdmlout {

	funcion ho($inp_val) {
		echo mb_convert_encoding($inp_val, "SJIS", "EUC-JP");
	}

}
$hd = new hdmlout;

//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

$hd->hd("<HDML VERSION=\"3.0\" PUBLIC=\"TRUE\" TTL=\"0\">\n");
$hd->hd("<DISPLAY>\n");
$hd->hd("aaaこんにちは世界\n");
hd->hd("</DISPLAY>\n");
$hd->hd("</HDML>\n");

?>

> 
> まずはテストで簡単なHTMLを表示するページを作って問題なく日本語が表示されれて
> いるか確認してみてはどうでしょうか。
HDML の MIME 設定がされているページで、上記出力部分のみの
test.hdml を作成して実機確認したところ、正しい表示となりました。

> 
> HTMLでも文字化けしているようなら、「文字化け」でML検索すれば、ヒントがたくさ
> ん表示されると思いますよ。
HTMLの文字化けはありません。imode や J-phone や PCのブラウザ
などでは、しっかりと見れます。

ML で検索したところ、PHP 4.2.0以上では
ini_set で default_mime や magic_quote_gpc をいじると
よいと書いてあり試しましたがダメでした。

# 困ったことは、openwave が出しているシミュレータでは
# どちらもちゃんと動くことなんです。

なにか、4.1.2ならではの・・・があるんでしょうか。
久々に途方にくれています。

原田 義弘



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