[PHP-users 5026] Re: php4.1.1の日本語設定について

SATO Mitsuo php-users@php.gr.jp
Sun, 27 Jan 2002 14:31:16 +0900


佐藤です。

最小のスクリプトでテストしてみてください。
以下がこちらのテストスクリプトです。

「test1.html」:SJISで記述
----------------------------------------------------------------------
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift-JIS">
<title>テスト1</title>
</head>
<body>
<form action="test2.php" method="GET">
日本語を入力:<input type="text" name="abc"><br>
<input type="submit" name="submit" value="送る">
</form>
<hr>
</body>
</html>
----------------------------------------------------------------------

「test2.php」:EUCで記述(クライアント側ではSJISに見える)
----------------------------------------------------------------------
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift-JIS">
<title>テスト2</title>
</head>
<body>
<?php
  echo "内部文字コード:";
  echo mb_detect_encoding($abc);
  echo "<br>";
  echo "入力は「";
  echo $abc;
  echo "」です";
?>
<hr>
</body>
</html>
----------------------------------------------------------------------


On Sun, 27 Jan 2002 11:41:59 +0900
Fukuoka Isamu <fukuoka@com-bi.net> wrote:

> 違うところはOSぐらいですね。

細かく上げると違いは多いですよ。
・Apacheのバージョン
・PHP4の configure の違い
・テストしているスクリプト


> 同じく「Configuration File (php.ini) Path」:/usr/local/lib/php.ini
> となっています。

> 同じくphp.iniで指定した通りになっています。

phpinfo で Zend のロゴ(画像)は見えないですよね。
これが見えると、mb_output_handler が動作していない可能性があります。


> > これはECU-JPとなるはずですが。

EUC-JPのtypoです(^^;

> 単純にページ表示するところで確認するとEUC-JPになりますが、
> フォームで文字列を入力し、submitした後のページではSJISに
> なってしまいます。

今回の設定だと
1.サーバ側PHPスクリプトはEUC で記述。
2.PHPを呼び出したクライアントではSJISのページに見える。
3.submit したデータはサーバ側でEUC として処理可能。
となるのが正常です。

テスト機を別に用意できるなら、最小構成でテストしてみるのも一つの手
です。
大変でしょうが、がんばってください。

佐藤 充男
satou@osk.3web.ne.jp