Autor Zpráva
petr_pometlo
Profil
Dobré odpoledne,
potřeboval bych poradit,
na stránkách mám sekci odeslat email, okno na zprávu, udaje atd. email se mi odešle ale nezobrazuje se diakritika.. píše to úplně jiné znaky..
př.. do zprávy jsem napsal: zkouška spojení a přišlo mi toto zkouĹĄka spojenĂ­

mám takovýto zdrojový kód

<head>
<meta http-equiv="Content-Type" content="text/plain; charset=windows-1250" />
<meta http-equiv="Content-Language" content="cs" />
<meta name="Description" content="aaaa" />
<meta name="robots" content="all, follow"/>
<meta name="googlebot" content="index,follow,snippet,noarchive" />
<meta name="author" content="aa" />
<link rel="shortcut icon" href="favicon.ico" />
<link rel="stylesheet" href="default.css" type="text/css" media="screen" />
<link rel="stylesheet" href="default.css" type="text/css" media="print" />
<title></title>
</head>


<h1>Odeslat e-mail</h1>

<br />
<hr />

<form action="obecni_urad.php?page=post" name="mail" method="post">
<div style="position: absolute; top: 150px; left: 350px; width:370px">
<fieldset>
<legend> E-mail </legend>
<div>
<div><label for="predmet">Předmět</label></div>
<input type="text" name="predmet" maxlength="50" size="54" /><br /><br />
<div><label for="text">Text zprávy</label></div>
<textarea name="text" rows="6" cols="40"></textarea>
</div>
</fieldset>
<input style="float:right;margin:10px 20px 0px 0px;" type="submit" name="send" value="Odeslat!" />
</div>
<div style="position: absolute; top: 150px; left: 50px; width:290px">
<fieldset>
<legend> Osobní údaje </legend>
<div>
<div><label for="jmeno">Jméno</label></div>
<input type="text" name="jmeno" maxlength="20" size="20" /><br /><br />
<div><label for="prijmeni">Příjmení</label></div>
<input type="text" name="prijmeni" maxlength="20" size="20" /><br /><br />
<div><label for="email">E-mail</label></div>
<input type="text" name="email" maxlength="40" size="40"/><br /><br />

</div>
</fieldset>
</div>
</form>

<?php endif?>
<?php if($page == "post"):?>



<?php

if ($_POST["predmet"] == ""){$_POST["predmet"] = "nevyplněno";};
if ($_POST["text"] == ""){$_POST["text"] = "nevyplněno";};
if ($_POST["jmeno"] == ""){$_POST["jmeno"] = "nevyplněno";};
if ($_POST["prijmeni"] == ""){$_POST["prijmeni"] = "nevyplněno";};
if ($_POST["email"] == ""){$_POST["email"] = "nevyplneny@email.cz";};

$_POST["predmet"] = iconv("CP1250", "UTF-8", $_POST["predmet"]);
$_POST["text"] = iconv("CP1250", "UTF-8", $_POST["text"]);
$_POST["jmeno"] = iconv("CP1250", "UTF-8", $_POST["jmeno"]);
$_POST["prijmeni"] = iconv("CP1250", "UTF-8", $_POST["prijmeni"]);
$_POST["email"] = iconv("CP1250", "UTF-8", $_POST["email"]);


if( mail("jmeno@aa.aa", $_POST["predmet"], "Odesilatel:\n".$_POST["jmeno"]." ".$_POST["prijmeni"]."\n\n".$_POST["text"],"From: ".$_POST["email"]) )
echo '<div id="aktivni"><h1>Vaše zpráva byla odeslána</h1></div>';
else echo ("<h1>Vaši zprávu se nepodařilo odeslat</h1>");

$_POST["predmet"] = iconv("UTF-8", "CP1250", $_POST["predmet"]);
$_POST["text"] = iconv("UTF-8", "CP1250", $_POST["text"]);
$_POST["jmeno"] = iconv("UTF-8", "CP1250", $_POST["jmeno"]);
$_POST["prijmeni"] = iconv("UTF-8", "CP1250", $_POST["prijmeni"]);
$_POST["email"] = iconv("UTF-8", "CP1250", $_POST["email"]);

?>

<br />
<hr />

<fieldset>
<legend> Odeslané údaje </legend>
<div>
<strong>Jméno:</strong><?php echo (" ".$_POST["jmeno"]);?><br />
<strong>Příjmení:</strong><?php echo (" ".$_POST["prijmeni"]);?><br />
<strong>Váš e-mail:</strong><?php echo (" ".$_POST["email"]);?><br /><br />
<strong>Předmět:</strong><?php echo (" ".$_POST["predmet"]);?><br />
<strong>Text e-mailu:</strong><?php echo (" ".$_POST["text"]);?>
</div>
</fieldset>



<?php endif?>


dokážete mi prosím poradit jak tuto chybu odstarnit..?
předem děkuji za odpověď
panther
Profil
petr_pometlo:
máš špatně kódování, řeší se to tu na diskusi několikrát každý týden. Hledej.
Warezov
Profil *
Záleží na tom v jakém kódování máš soubor uložený. Použij UTF-8 kódování a třeba v PsPadu nebo Notepad++ konvertuj ten kód do formátování UTF-8.
petr_pometlo
Profil
panther:
hledal jsem a už si nevím rady..
Davex
Profil
Soubor pravděpodobně ukládáš do kódování UTF-8. Oprav MIME typ a změň definici kódování:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

Nebo oprav jen MIME typ a soubor ulož v editoru do kódování Windows 1250. Volba je na tobě.
petr_pometlo
Profil
Davex:
zkoušel jsem to a je to pořád stejné
Davex
Profil
Zmátla mě kategorie HTML - pokud je problém s češtinou v odeslaných e-mailech tak následuj Nejčastější potíže s PHP (FAQ) - problémy s e-maily.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0