

PHP formulářem vygenerovaný e-mail přijde se špatnou diakritikou
Snažím se přes PHP vyřešit vygenerování formuláře, ten se vygeneruje a odešle na mail v pohodě, ale dorazí se špatným kódováním. V potvrzujícím formuláři mám následující proměnné:
$kurz = $_POST['kurz'];
$kodovanikurzu = base64_encode ($kurz);
$kurz = "=?windows-1250?B?$kodovanikurzu?=\r\n";
$jmeno = $_POST['jmeno'];
$prijmeni = $_POST['prijmeni'];
$ulice = $_POST['ulice'];
$mesto = $_POST['mesto'];
$psc = $_POST['psc'];
$telefon = $_POST['telefon'];
$email = $_POST['email'];
$vzkaz = $_POST['vzkaz'];
$spam = $_POST['spam'];
Proměnná kurz v tomto případě slouží jako předmět mailu, ten jsem ošetřil proměnnou kodovanikurzu a mail už tedy přichází se správným předmětem. Pokud ale to samé provedu s ostatními proměnnými, které pod vypsaným kódem pomocí zalomení \n sčítám do jednoho těla, které se má odeslat, dorazí všechny ne se špatnou diaktitikou (š, ž a ť), ale tentokrát jsou písmenka úplně pomíchaná a nedávají už vůbec smysl.
Pro jistotu uvedu i pokračování kódu:
if ($kurz!="" and $jmeno!="" and $prijmeni!="" and $ulice!="" and $mesto!="" and $psc!="" and $telefon!="" and $email!="" and $email!="" and $spam=="2")
{
Mail("muj@email.cz", $kurz, $jmeno." \n ".$prijmeni." \n ".$ulice." \n ".$mesto." \n ".$psc." \n ".$telefon." \n ".$vzkaz, "From: " . $email);
echo "<p><strong>Přihláška byla úspěšně odeslána. Co nejdříve se vám ozveme.</strong></p>";
}
else
{
echo "<p><strong>Přihlášku se nepodařilo odeslat, pravděpodobně jste nevyplnili všechny údaje, nebo neodpověděli na antispamovou otázku.</strong></p>";
}
Ať googlím, jak googlím, nic nemůžu najít. Na jiných fórech jsem našel řešení pomocí následujícího kódu:
$headers .= "MIME-Version: 1.0\n".
"Content-Type: text/plain; charset=\"Windows-1250\"\n".
"Content-Transfer-Encoding: base64\n";
a proměnnou definovat takto:
$jakakoliv_promenna = $_POST['prijaty_parametr'];
$kodovani_teto_promenne = base64_encode ($jakakoliv_promenna);
...ale nevím, jak ho použít, protože mi vrací to samé (podle mě je to dokonce i ten samý kód).
Kódování celého webu je Windows-1250.
Také jsem vyčetl, že záleží na poskytovateli mailu, že někde dorazí mail správně. Já to testuju na Seznamu a tam je problém takový, jak jsem ho popsal v dotazu.
Už si fakt nevím rady, tak předem dík všem, kteří se nějak zapojí do řešení tohoto problému.
Já používám tuhle funkci (ta je ale s přílohou, to už si odmažeš):
Změň si v tom kodování na windows-1250 a snad ti to bude fungovat
Bejt tebou, použil bych nějaký hotový řešení - třeba já používám PHPMailer - bez problémů - pravda, jedu na UTF-8..
Tak mezitím jsem to za menší pomoci známého vyřešil. Hlavička se měla uvést hlavně v parametrech odesílaného e-mailu, tzn. za proměnnými, které se mají odeslat. Nebudu se tu o tom rozepisovat a přikládám řešení v zipu. Dopsal jsem tam ještě, aby na mail nedocházely jenom hodnoty zadané uživatelem, ale i názvy hodnot, které se zadávaly, tzn. Jméno: Dave, Příjmení: atd...
Neříkám, že je toto řešení ideální, ani ho nikomu nevnucuju, ale snad se bude hodit těm, kteří měli potíže ohledně tohoto problému něco vygooglit, tak jako já.
Ale díky oběma nade mnou, kteří se podělili o další řešení, ještě si to pročtu