псаломщик
Новичок
Написал скрипт для отправки с формы сайта почтового сообщения. Письма отправляются - все доходит. Сложность в том, что тема письма видна в первом и во втором случае, в третьем (с windows-1251) - приходят кракозебры. Тело письма приходит с кракозебрами во всех трех случаях (и в utf-8, и в koi8-r, и в windows-1251). Что поправить?
в основном файле кодировка задана через
PHP:
<?
//сохраняем данные из пост в простые переменные, которые мы выбираем сами
if (isset($_POST['FIO'])) {$FIO =$_POST['FIO']; };
if (isset($_POST['firm'])) {$firm =$_POST['firm'];};
if (isset($_POST['telefon'])) {$telefon=$_POST['telefon']; };
if (isset($_POST['mail'])) {$mail =$_POST['mail']; };
if (isset($_POST['address'])) {$address=$_POST['address']; };
if (isset($_POST['order'])) {$order =$_POST['order']; };
if (isset($_POST['code'])) {$code =$_POST['code']; };
$to='[email protected]';
$subject='Заказ';
$from='[email protected]';
$charset='utf-8';
$subject.=' utf-8';
$subject='=?'.$charset.'?b?'.base64_encode($subjec t).'?=';
$body='Имя: '.$FIO.'\nFirm: '.$firm.'\nPhone: '.$telefon.'\nE-mail: '.$mail."\nAddress: ".$address."\nOrder:\n".$order;
$from='=?'.$charset.'?b?'.base64_encode($from).'?= ';
$headers ="Content-type: text/plain; charset='.$charset.'\r\n";
$headers.='From: <'.$from.'>\r\n';
$headers.='MIME-Version: 1.0\r\n';
$headers.='Date: '.date('D, d M Y h:i:s O').'\r\n';
$headers ="Content-type: text/plain; charset='.$charset.'\r\n";
mail($to,$subject,$body,$headers);
$subject='Заказ';
$charset='koi8-r';
$subject.=' koi8-r';
$subject=convert_cyr_string($subject,"w","k");
$subject='=?'.$charset.'?b?'.base64_encode($subjec t).'?=';
$body='Имя: '.$FIO.'\nFirm: '.$firm.'\nPhone: '.$telefon.'\nE-mail: '.$mail."\nAddress: ".$address."\nOrder:\n".$order;
$body=convert_cyr_string($body,"w","k");
$from=convert_cyr_string($from,"w","k");
$headers ="Content-type: text/plain; charset='.$charset.'\r\n";
$headers.='From: <'.$from.'>\r\n';
$headers.='MIME-Version: 1.0\r\n';
$headers.='Date: '.date('D, d M Y h:i:s O').'\r\n';
$headers ="Content-type: text/plain; charset='.$charset.'\r\n";
mail($to,$subject,$body,$headers);
$subject='Заказ';
$charset='windows-1251';
$subject.=' windows-1251';
$subject='=?'.$charset.'?b?'.base64_encode($subjec t).'?=';
$body='Имя: '.$FIO.'\nFirm: '.$firm.'\nPhone: '.$telefon.'\nE-mail: '.$mail."\nAddress: ".$address."\nOrder:\n".$order;
$from='=?'.$charset.'?b?'.base64_encode($from).'?= ';
$headers ="Content-type: text/plain; charset='.$charset.'\r\n";
$headers.='From: <'.$from.'>\r\n';
$headers.='MIME-Version: 1.0\r\n';
$headers.='Date: '.date('D, d M Y h:i:s O').'\r\n';
$headers ="Content-type: text/plain; charset='.$charset.'\r\n";
mail($to,$subject,$body,$headers);
header('Location: index.php');
?>
PHP:
header('Content-type: text/html; charset=utf-8');