おそらく、PHP内部で使われている mb_convert_encoding 関数(文字コード変換)
の第3パラメータが "auto" になっており、文字コードの判定に失敗したと思われます。
ためしに適当に作ってみたところ、同じような化け方をしますし。
http://tkooler.moe.hm/testphp/test.php
<?php
header("Content-Type: text/html; charset=EUC-JP");
$n = htmlspecialchars(mb_convert_encoding($_POST["n"],"EUC-JP","auto"));
?>
<html>
<head>
<title>テスト</title>
</head>
<body>
化けるかテスト
<form method="POST" action="test.php">
<?php
echo "<input type=\"text\" name=\"n\" value=\"$n\">";
?>
<input type="submit" value=" 送信 ">
</form>
</body>
</html>