[PHP-dev 1045] PHP5.0.0にて同一の内容を送信すると「たまに」文字が化ける

Yusuke Ando ando @ rikezemi.com
2004年 12月 5日 (日) 01:33:20 JST


初めて投稿させて頂きます、安藤と申します。

今回は同一の内容で実行を行っても「たまに」結果が変化するという現象を確認
致しましたので、それについて皆様のご意見を伺えればと思います。

●現象発生スクリプト
http://chbox.com/php/posttest.php

submitをした際に送信した文字列を表示するだけの処理ですが、同じ文字列を送
信しても結果が場合によって変化します。(6割程度の確率?)

どうやらオブジェクトとMBを利用した際にこのような現象が発症するようです。
私としては非常にめずらしい挙動と思い、戸惑っているのですが同様の挙動を確
認された方はいらっしゃいますでしょうか?

環境は PHP5.0.0 となっています。(phpinfoをご参照ください)
http://chbox.com/phpinfo.php

同内容のスクリプトをPHP4.3.8のホスト上で実行した場合は挙動を再現しません
でした。(末尾にスクリプトの内容を引用しておきます)

なにかこの現象についての情報をお知りの型がございましたらご教授願います。


<form method="POST">
<input name="name" value="ちゃばこ"><input type="submit" name="submit" value="テスト実行">
</form>
<?php

if ( $_POST['submit'] != "" ) {

$t = new Tester();
$r = new Reciever();

$t->move();
$r->showpost();

}

/***************************************************************************
 * internal_encodingを設定する複数のクラス
 *
 **************************************************************************/

class Tester{

    function move(){
	
		mb_internal_encoding("SJIS");
	
	}

}

class Reciever{

	function showpost(){

		mb_internal_encoding("SJIS");

		echo "PHPのバージョン:".PHP_VERSION."<br>";
		echo "↓PHP5.0.0 + UTF-8host だとここがたまに化ける(3割くらい?)↓<br>   ";
		echo $_POST['name'];

}

}

?>



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