Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Diakritika v emailu -PHP

Ahoj programátoři.

Pomohl by mi prosím vás někdo vyřešit problém s diakritikou v php? Používám funkci mail() a když odešlu email, tak mi příjde bez písmenek s háčkama a čárkama. Nevím co s tím mám dělat. A ještě jedna věc. Email mi nedojde s adresou odesílatele. Zobrazí mi to tam email jakoby hostingu. jde to nějak změnit? Přikládám kód. Děkuji.

<?php

$to = "....";
$subject = "$subject";

$name = $_POST["name"];
$email = $_POST["email"];
$message = $_POST["message"];
$subject = $_POST["subject"];

$body = <<<EMAIL
$message


EMAIL;

if($_POST){
	if($name == "" || $email == ""|| $message == "" || $subject == ""){
		$feedback = "Vyplň všechna políčka";
	}
	else{
		mail($to, $subject, $body);
		$feedback = "Email byl odeslán";
	}
}

?>
Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Má prosím vás ještě někdo nějakou radu ohledně té diakritiky? teď mi to místo písmen píše nějaké zna…
programlike 07.10.2015 18:30
programlike
Našel jsem tenhle kód, podle kterého by to mělo fungovat, jenže jevím jak ho upravit do toho mojeho.… poslední
programlike 07.10.2015 18:33
programlike

Našel jsem tenhle kód, podle kterého by to mělo fungovat, jenže jevím jak ho upravit do toho mojeho.

<?php
$mail = "bazos88@seznam.cz";
$predmet = "Email z webu SDH";
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = 
" \r\nJméno a příjmení: " .$_POST['jmenoprijmeni'].
" \r\nE-mail:     " .$_POST['email'].
" \r\n\nZpráva: " .$_POST['zprava']; 
if ($email!="" and $zprava!="" )
{
$kon = cs_mail ($mail, $predmet, $zprava, "From: $email\n");
if ($kon)  
  
header("HTTP/1.1 301 Moved Permanently");
header("Location: www.sdhbecva.cz/index.php?option=com_content&view=article&id=17");
header("Connection: close");
}  
 else
  echo "E-mail se bohužel nepodařilo odeslat.<br>";
?>

<?php

function autoUTF($s)
{
    // detect UTF-8
    if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s))
        return $s;
    // detect WINDOWS-1250
    if (preg_match('#[\x7F-\x9F\xBC]#', $s))
        return iconv('WINDOWS-1250', 'UTF-8', $s);
    // assume ISO-8859-2
    return iconv('ISO-8859-2', 'UTF-8', $s);
}

function cs_mail ($to, $predmet, $zprava, $head = "")
       {  $predmet = "=?utf-8?B?".base64_encode(autoUTF ($predmet))."?=";
          $head .= "MIME-Version: 1.0\n";
          $head .= "Content-Type: text/plain; charset=\"utf-8\"\n";
          $head .= "Content-Transfer-Encoding: base64\n";
          $zprava = base64_encode (autoUTF ($zprava));
          $stav = mail ($to, $predmet, $zprava, $head);
          return $stav ?  TRUE : FALSE;  }
?>

Zpět do poradny Odpovědět na původní otázku Nahoru