Stránka 1 z 1

Diakritika pri odesilani emailu pomoci php

Napsal: 08 čer 2011 10:12
od PepeCZ
Cus vsichni dnes mi zase zaclo blbnout odesilani mail pomoci php, nebo spis na tomto webu odesilam emaily pomoci phpcka tak me nap ze to bude nejspis tim, mohl by jste mi nekdo pomoct s timto probleme pls.

v html v hlavicce mam nastaveno kodovani utf8

Kód: Vybrat vše

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

a muj sendemail.php vypada takto

Kód: Vybrat vše

<?php
$your_email = "mailnakterysetoodesle@cokoli.cz";

$c_name = htmlspecialchars ($_POST["Name"]);
$c_email = htmlspecialchars($_POST["Email"]);
$c_subject = htmlspecialchars($_POST["Subject"]);
$c_message = htmlspecialchars($_POST["Message"]);

$error = 0;

if(strlen($c_name) < 4){
   $error++;
}
if(strlen($c_subject) < 4){
   $error++;
}
if(strlen($c_message) < 10){
   $error++;
}
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $c_email)){
   $error++;
}
if($error == 0){
   $subject = $c_subject;
   $message = "Name: ".$c_name."\nEmail: ".$c_email."\n\nSubject: ".$c_subject."\n\nMessage:\n".$c_message;
   $headers = "From: $c_email";
   mail($your_email,$subject,$message,$headers);
   echo 'sent';
}else{
   echo 'error';
}


?>

nevite v cem by mohl byt problem?
Predem vsem co nejak pomuzou dekuju.

ps:jinak jeste takhe vypada muj form

Kód: Vybrat vše

<div id="note">
                     <span class="notification_ok"> Vaše zpráva byla odeslána. Děkujeme Vám!</span>
                  </div>      
                  <form action="sendemail.php" id="contact_us" class="jqtransform" method="post" charset="UTF-8"/>
                     
                     <div class="rowElem">
                       <label>Jméno a Příjmení</label><input type="text" size="30" name="Name" id="name" title="Name" /></div>
                     <div class="rowElem"><label>E-Mail</label><input type="text" size="30" name="Email" id="email" title="Email" /></div>
                     <div class="rowElem">
                        <label>Předmět</label>
                        <select name="Subject" id="subject" class="contact-select">
                           <option value="Oddluzeni" />Oddlužení
                           <option value="Vyplaceni" />Vyplacení
                           <option value="Preuverovani" />Přeúvěrování
                           <option value="Jiny" />Jiný
                        </select>
                     </div>
                     
                     <div class="rowElem">
                       <label>Vaše zpráva</label><textarea cols="64" rows="7" name="Message" id="message_input"></textarea></div>
               <div class="rowElem" id="contact-submit"><label>&nbsp;</label><input type="submit" value="Odeslat" class="jqbutton" /></div>
                  </form>

Re: Diakritika pri odesilani emailu pomoci php

Napsal: 08 čer 2011 11:45
od CZechBoY
toto jsem doporučoval v nějakém tématu, které tu už dávno je:
// předmět s diakritikou
$clearsubject = $_POST['subject'];
$encodedsubject = base64_encode ($clearsubject);
$predmet = "=?utf-8?B?$encodedsubject?=";
//nastavení mailu
$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-Type: text/plain; charset=UTF-8\r\n";
$headers.= "Content-Transfer-Encoding: 8bit\r\n";
$headers.= "From: $od\r\n";

samozřejmě můžeš to samé aplikovat na text zprávy:
$zprava="=?utf-8-?B?".base64_encode($zprava)."?=";

Re: Diakritika pri odesilani emailu pomoci php  Vyřešeno

Napsal: 08 čer 2011 12:26
od PepeCZ
Ahoj CZechBoY thx za odpoved,takze myslis ze bude stacit kdyz aplik jen na tu zpravu: $zprava="=?utf-8-?B?".base64_encode($zprava)."?=";
?
Protoze uz jsemod rana vyzkousel mnoho moznosti jak odeslat v utf8 ale bez uspechu,jenom jednou se mi to povedlo ze fungovali ceske znaky ale krome š ž:/ tak jsem se stim nespokojil a zkousel dal, tak ja ted zkusim tu tvoji moznost a dam feedback:)

--- Doplnění předchozího příspěvku (08 Čer 2011 12:35) ---

tak jsem to ted zkousel a nic porad spatny:/ ale je pravda ze sem se pokousel pouze o utf8 v textu, protoze diakritiku nepotrebuji v predmetuale jen v samotnem textu. nevis vcem by mohl byt jinak hacek? kdyz vezmu vpotaz ze ten kus kodu od tebe je 100% funkcni? je mozny ze mam chybu nekde v phpkodu ktery jsem napsal do sendemail.php?

--- Doplnění předchozího příspěvku (08 Čer 2011 12:57) ---

to CZechBoY: OPRAVA :)
mockrat děkuju, až ted jsem si všiml že mi dam chyběla jesna zavorka špatně jsem to opsal příště asi raději zkopiruju nez opisovat.
Kazdopadne teďkon mi to funguje i s š ž a všema ostatníma háčkama a čárkama. Takže ještě jednou díky mistře;)