Яндекс-почта например UTF-8 не видит, а флэш передает данные из формы в UTF-8 - вот код для конвертации из UTF-8 в Win-1251

PHP код:
<?php
//тут данные из переданной флэш формы в кодировке UTF-8
$name = $HTTP_POST_VARS['Name'];
$phone = $HTTP_POST_VARS['Phone'];
$email = $HTTP_POST_VARS['Email'];
$message = $HTTP_POST_VARS['Message'];
// Функция преобразования, чтоб на мыло не приходила абра кадабра для поля "name"
function Utf8ToWin($fcontents) {
$out = $c1 = '';
$byte2 = false;
for ($c = 0;$c < strlen($fcontents);$c++) {
$i = ord($fcontents[$c]);
if ($i <= 127) {
$out .= $fcontents[$c];
}
if ($byte2) {
$new_c2 = ($c1 & 3) * 64 + ($i & 63);
$new_c1 = ($c1 >> 2) & 5;
$new_i = $new_c1 * 256 + $new_c2;
if ($new_i == 1025) {
$out_i = 168;
} else {
if ($new_i == 1105) {
$out_i = 184;
} else {
$out_i = $new_i - 848;
}
}
$out .= chr($out_i);
$byte2 = false;
}
if (($i >> 5) == 6) {
$c1 = $i;
$byte2 = true;
}
}
return $out;
}
//задаем переменной, конвертированное вышеописанной функцией, значение.
$cname = Utf8ToWin($name);
//еще одна функция аналогичная первой
function Utf8ToWin1($fcontents) {
$out = $c1 = '';
$byte2 = false;
for ($c = 0;$c < strlen($fcontents);$c++) {
$i = ord($fcontents[$c]);
if ($i <= 127) {
$out .= $fcontents[$c];
}
if ($byte2) {
$new_c2 = ($c1 & 3) * 64 + ($i & 63);
$new_c1 = ($c1 >> 2) & 5;
$new_i = $new_c1 * 256 + $new_c2;
if ($new_i == 1025) {
$out_i = 168;
} else {
if ($new_i == 1105) {
$out_i = 184;
} else {
$out_i = $new_i - 848;
}
}
$out .= chr($out_i);
$byte2 = false;
}
if (($i >> 5) == 6) {
$c1 = $i;
$byte2 = true;
}
}
return $out;
}
//тоже самое что и выше
$cmessage = Utf8ToWin1($message);
//тут некие настройки почты, темы, даты и времени сообщения
$sendTo = "ваша@почта.ру";
$subject = "Тема сообщения";
$Sender_Time=date("H.i");
$Sender_Date=date("j.m.Y");
$headers = "MIME-Version: 1.0\r\n";
$headers .="Content-type: text/html; charset=windows-1251\r\n";
$msg_body = "Ф.И.О.: <b>\t$cname\n</b><br>";
$msg_body .= "Телефон: <b>\t$phone\n</b><br>";
$msg_body .= "Email: <b>\t$email\n</b><br>";
$msg_body .= "Сообщение отправлено: <b>\t$Sender_Date\n</b> в <b>\t$Sender_Time\n</b><br>";
$msg_body .= "Текст заявки: <br><b>\t$cmessage\n</b><br>";
mail($sendTo, $subject, $msg_body, $headers);
?>
Все работает, вчера намучился но сделал
Добавлено через 2 минуты
У меня вопрос - а кто может помоч написать проверку в АС на корректную вводимость email и phone?