Autor Zpráva
Alastor_Kopal
Profil
$jmeno = $_POST['jmeno'];
$email = $_POST['email'];
$subject = "Registrace do amatérského dabování a nahrávání";
$text = 'Příliš žluťoučký kůň úpěl ďábelské ódy.
';

mail($email,$subject,$text,$headers);

Všude mám kódování UTF-8 ale do emailu mi přijde
Přà liš ĹľluĹĄouÄŤkĂ˝ kĹŻĹ? pÄ›l ďábelskĂˆ Ăłdy.
panther
Profil
Alastor_Kopal:
co je v proměnné headers?
Alastor_Kopal
Profil
$headers = "From: $from";
panther
Profil
Alastor_Kopal:
tak tam přidej ještě kódování. Jestli nevíš jak, projdi si FAQ této sekce, ten samý problém je tam zmíněn.
blaaablaaa
Profil
Pripadne pouzij tridu phpmailer, ktera hodne veci udela za tebe ;)
senior
Profil
Alastor_Kopal:
Vlož si tento kus kódu do odosielacieho scriptu:

	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, $subject, $message, $head = "")
	{  $subject = "=?utf-8?B?".base64_encode(autoUTF ($subject))."?=";
	$head .= "MIME-Version: 1.0\n";
	$head .= "Content-Type: text/plain; charset=\"utf-8\"\n";
	$head .= "Content-Transfer-Encoding: base64\n";
	$message = base64_encode (autoUTF ($message));
	return mail ($to, $subject, $message, $head);
	}
pavuk
Profil
Zrovna řeším úplně stejný problém, ale protože php neovládám, musím jen tupě kopírovat. Na kód z [#6] jsem narazil ve "FAQ php DJPW" taky, ale nevím přesně kam ho vložit. Zkoušel jsem před odesílací skript, za něj, ale diakritika stále nic...
Kam přesně a jakým způsobem by se kód měl vložit?
Odesílám tímto:
<?
$author = $_POST['author'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$text = $_POST['text'];                                 
if ($author!="" and $email!="" and $spam=="2" and $text!="")
{
Mail("email@můj.cz", $author, $text, "From: " . $email);
echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>";
}
else
{
echo "<p>Váš e-mail se <strong>nepodařilo odeslat,</strong> pravděpodobně jste nevyplnili všechny údaje</p>";
}
?>

A je v něm potřeba něco změnit podle mýho "odesílacího.php"?
nightfish
Profil
pavuk:
zásadní úprava spočívá v tom, že volání funkce mail ve svém kódu nahradíš voláním funkce cs_mail
pavuk
Profil
nightfish:
To je přesně ono, díky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: