お返事ありがとうございます。

引用:
たぶん、意図した動作としては、次のようにするのが良いと思います。

if (preg_match("/^=/",$op)) {
        ↓
if (preg_match("/=/",$op)) {
これを最初に試したのですが、何故か項目名に「60」がずらっと並ぶだけになりました。
どうしてなのか理解できずに、色々試してみたのですが、どうも上手くいかなかったです。

あ、失敗してる
私が記述した内容だと、全てstrtolowerをスキップしてしまってます。
サイズ指定も無視されている事実を発見。。。。
申し訳ありません。

どうしてご指摘の通りだと上手くいかないのかわからないので、

別の処理を。。。


$args = explode("=", $op, 2);
if (isset($args[1])) {
$aname=strtolower($args[0]);
} else {
$aname = $args[0];
}

これで、現状は問題ないです。
参考にされた方、申し訳ありませんでした。

引用:
ところで、この文字化けは稀に報告されるのですが、どうも PHP 4.2.3 にある mbstring (漢字コード) の取り扱いバグの影響を受けている可能性があります。(原理的には文字化けの心配はない部分なので)

そうですね、私も以前から利用させて頂いていて文字化けは起こっていませんでしたし、今回は設置サーバーが変わったのでサーバー側の処理に起因している気がします。

また、ミスなどありましたらご指摘下さい。