Autor Zpráva
Dall
Profil *
Mám tento skript a po odeslání mi na mail zpráva příjde, ovšem místo š mám čtvereček atd.. Kde je chyba? Už jsem zkoušel měnit kodování stránky a nepomohlo to..

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>Odesílání emailu</title>
</head>
<body>
<h1>Odesílání emailu</h1>

<?
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['zprava'];

if ($predmet!="" and $email!="" and $zprava!="" and $spam=="2")
{
Mail("vase@adresa.com", $predmet, $zprava, "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, nebo nevíte kolik je 1 + 1.</p>";
}
?>

</body>
</html>
Jan Tvrdík
Profil
Zkus poslat hlavičku s příslušným kódováním (přednastaveno pro utf-8):
$header = "Content-type: text/plain; charset=utf-8\r\n"; 
mail("vase@adresa.com", $predmet, $zprava, "From: " . $email . "\r\n" . $header);
Dall
Profil *
Tak jsem tak zadal a místo diakritiky mam otazníky, před tím sem tam měl čtverčky či co... Ostatní text je bez problémů..
Jan Tvrdík
Profil
Dall
Musíš ten charset nastavit na kódování, které používáš. Např:
$header = "Content-type: text/plain; charset=windows-1250\r\n"; 
Dall
Profil *
JJ už to jde, díky. Samotný text mailu jde s diakritikou. Jen předmět se nezměnil, nevís proč? Předvyplněný text předmětu me na mail přijde takto: P?edm?t
Jan Tvrdík
Profil
Zkus:
$predmet ="=?windows-1250?B?" . base64_encode($predmet) . "?=\n";

Ale v praxi jsem to nikdy nezkoušel
Dall
Profil *
Tak je to ok, diky za rady..)))

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: