Autor Zpráva
Timy
Profil
Mám takový problém - pokud z mailformu na svých stránkách odešlu email na svůj gmail, nezobrazí se mi tam české znaky, ale nějaká hatmatilka, ale když ten email nechám odeslat třeba na můj mail na centrum, zobrazí se to správně, nevíte kde je problém? Kód je tady (je to můj první php skript, takže bude asi dost lamský) a stránka s formulářem je zde http://oflashi.net/pokus.php (ještě není nastylovaná tak se nelekněte):

<?php
$obsah="dotaz:
".$text."

email:
".$email;
if(mail("timyxp@gmail.com", "$predmet", "$obsah"))
{
?>
<strong>zpráva byla odeslána</strong>
<?php
}
else
{
?>
<strong>Chyba, zpráva nebyla odeslána</strong>
<?php
}
?>
flying gentleman
Profil
já bych zkusil pridat hlavičku na kodovani
Timy
Profil
flying gentleman
hlavičku s kódováním mám na obou stránkách (zkoušel jsem i úplně bez kódování i s kódováním jen na jedné stránce). Zkoušel jsem kódování windows i iso --> emaily vypadaly asi takhle:
jako předmět mi to píše tohle: θύψαύνμψ a text zprávy:žšèýøáýžíìšø
s UTF-8 se text emailu zobrazil správně, ale předmět byl asi takovýto:큄컵씻첵탑택시∴씽챠�
flying gentleman
Profil
nemas ve ff rozsireni livehttpheaders?mohl by ses mrknout co doopravdy odesila server.je to jen muj napad:)
Timy
Profil
flying gentleman
to asi nemám (mám to česky, takže fakt nevím), ale vyřešil jsem to jinak: nechal jsem ty maily posílat na centrum.cz a odtamtud okamžitě přeposlat na gmail:D a funguje je to jak má...
habendorf
Profil
$header = "Content-type: text/plain; charset=utf-8";
Timy
Profil
habendorf
takhle?

<?php
$header = "Content-type: text/plain; charset=utf-8";
$obsah="dotaz:
".$text."
...

nefunguje, pořád to háže nesmysly typu θύψαύνμψ. Nebo to mám dát někam jinam?
flying gentleman
Profil
header('content-type: text/plain; charset="utf-8"');
flying gentleman
Profil
I kdyz myslim, ze se to da nejak pripojit i k mail(). myslim ze na http://www.php.net/manual/en/function.mail.php
je to dobre popsany
habendorf
Profil
<?php
$header = "Content-type: text/plain; charset=utf-8";
if (isset($odeslat)):
if (mail("neco@neco.cz", $predmet, $zprava, "From: ".$email."\r\n".$header))
echo "<p>Děkujeme, zpráva byla úspěšně odeslána.</p>";
else
echo "<p>Litujeme, zprávu se nepodařilo odeslat.</p>";
endif;
?>
Kajman
Profil *
No a text subjectu je třeba kódovat - tam může být jen ascii (pro iso se používá imap_8bit (použití je v příkladech k nalezení)).
4Shop
Profil
zkus to takhle, to by teoreticky melo pomoct ;)

mail($email, $predmet, $zprava,"From: $nazev_domeny<$email_admin>\n" . "MIME-Version: 1.0\n" . "Content-type: text/html; charset=windows-1250");
Timy
Profil
4Shop
jo, díky už to funguje. Jen v předmětu to nechtějí zobrazit některé (naše) znaky - ěščřž, ýáíé jdou v pohodě. Ale to už se dá přežít, takže díky!
sark
Profil *
4Shop
jo, díky už to funguje. Jen v předmětu to nechtějí zobrazit některé (naše) znaky - ěščřž, ýáíé jdou v pohodě. Ale to už se dá přežít, takže díky!


jedna z moznosti jak na predmet v mejlu:

$sSubject = base64_encode($sSubject);
$sSubject = "=?windows-1250?B?$sSubject?=";

popripade jina znakova sada ve druhem radku

o kodovani predmetu viz napr. http://en.wikipedia.org/wiki/MIME#Encoded-Word
nikomu_nic
Profil *
sark... mas tam chybu... spravne je to takto

$subject = $predmet;
$subject = imap_8bit($subject);
$subject = "=?windows-1250?Q?".$subject."?=";

to tvoje mi nefachalo, kdyz sem prijimal maila trebas na seznamu
v6ak
Profil
Já bych to tipnul spíš na iso-8859-2.
pa2b
Profil
prispevek od 4Shop tak to funguje
one_k
Profil
pa2b
edit: placam blbosti..:) radsi sem to smazal - odpovedel jsem na neco uplne jineho..
Toto téma je uzamčeno. Odpověď nelze zaslat.

0