Autor Zpráva
casy
Profil
Ahoj mám takový menší problém.

Použil jsem dd-formailer a přidal do něj kódování UTF-8. (mime_header_encode)

U předmětu jsem předdefinoval zprávu "Formulář" a vše se správně vypíše v UTF-8, ale ještě jsem k ní přidal předmět od uživatele, u které když je zadaná interpunkce tak se náhodný znak převede na kód. Za dvojtečkou je předmět od uživatele.

Ukázka:

Přihláška na školení: Příhl C3?ška
Přihláška na školení: ě š ? 8D ř ž ý á í é

V jednom mailu se "á" zobrazuje, ale zase nezobrazuje se "č".

Nevíte někdo kde by se mohla nacházet chyba ?

Díky

Dan
bar714
Profil
casy:
skús použiť: http://phpmailer.worxware.com/index.php?pg=phpmailer ten funguje dobre ;-)
casy
Profil
Předmět: Diskuse, p??sp?vek na t?ma: Mail form - UTF - 8 chyba v k?dov?n?

Tohle mi přišlo z této diskuse :)
casy
Profil
bar714:
Určitě ho vyzkouším děkuju :)

BTW jsem to vyřešil tak, že jsem odebral input Předmět a mám po starostech, protože ten první text, který jsem odesílal jako předmět byl kódovaný UTF-8. Druhá část od uživatele byla z formuláře a nekódovala.

Je zvláštní že jsem předmět měl v jedné proměnné, kterou jsem ošetřil

function mime_header_encode($text, $encoding = "utf-8") {
    return "=?$encoding?Q?" . imap_8bit($text) . "?=";
}

....

$subject_user = 'fm_subject';

$email_subject = "Přihláška na školení $subject_user";
//$email_subject = "Přihláška na školení: 'fm_subject'"; tohle je původní
if (function_exists('mime_header_encode')) {
 $email_subject = mime_header_encode($email_subject, 'UTF-8', 'Q', '');
 $sender_name = mime_header_encode($sender_name, 'UTF-8', 'Q', '');
// $subject_user = mime_header_encode($subject_user, 'UTF-8', 'Q', ''); -- o tohle jsem se snažil
}


Snažil jsem se poslat data z formuláře do mime_header_encode což se "povedlo" text sice dorazil z proměnné, ale obsahoval stejnou vadu.

To je pro zamyšlení.

Díky za odkaz ! :)

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: