もう一度やってみたら 「 ?> 」も消えたし送信もできました!728さん、ありがとうございます。
エンコードを直したら文字化けしてたのも対処できました!
ローカルではやっぱエラーが出て送信できないけど、レンタルサーバーのほうで出来れば文句ないです。

ついでで申し訳ないんですが教えていただけますか?
レッツPHP!のこれだと、送信ボタンを押したあと、「送信できました」だけが左上に書かれた、
なんとも寂しい画面に切り替わってしまうんですが、
これを、切り替えずに、送信前の元のページに戻すことはできないでしょうか。

レッツPHP!からお借りしたスクリプトには

// 送信後のjump先(二重投稿防止の為)
$url = $_SERVER["PHP_SELF"]."?act=done";

っていうのと、もっと下のほうに

if ($_GET['act'] == "done") {
die("送信が完了しました");
// require("form_done.html");
}
else {
require("form.php");
}

っていうところがあって、
この辺を書き換えたらなんとかなるんじゃないだろうかって思うんですが
どうでしょうか?
ていうか、dieって何?(((((( ;゚Д゚)))))