| Autor | Zpráva | ||
|---|---|---|---|
| Ousteen Profil * |
#1 · Zasláno: 25. 9. 2009, 12:10:29
Zdravím,
narazil jsem na problém, se kterým si nevím rady :( PHP software. Veškerá čeština na webu je v pořádku. Ale pokud odešlu přes web nějaký email, nebo se odešle něco automaticky, tak je rozhozená čeština. Nezobrazují se české znaky. :/ Soubor, který slouží k odesílání je v UTF-8. Stejně tak soubor se samotným nachystaným e-mailem. Zde je hlavička e-mailu vytažená ze souboru: $boundary[1] = "b1_" . $uniq_id;
$boundary[2] = "b2_" . $uniq_id;
$header = "Date: ".$mail_date."\n".
"Return-Path: " . $from_email . "\n".
"From: " . $from_name . " <" . $from_email . ">\n".
(($setts['enable_bcc']) ? "Bcc: " . $setts['admin_email'] . "\n" : "").
"Reply-to: " . $from_email . "\n".
sprintf("Message-ID: <%s@%s>%s", $uniq_id, $_SERVER['SERVER_NAME'], "\n").
"X-Priority: 3\n".
"X-Mailer: PHP Pro Bid/Sendmail [version " . $current_version . "]\n".
"MIME-Version: 1.0\n".
"Content-Transfer-Encoding: 7bit\n".
sprintf("Content-Type: %s; charset=\"%s\"","text/html","iso-8859-1").
$params = sprintf("-oi -f %s", $from_email);
if (strlen(ini_get('safe_mode'))<1)
{
$old_from = ini_get('sendmail_from');
ini_set("sendmail_from", $from_email);
$result = @mail($to, $subject, $html_msg, $header, $params);
}
else
{
$result = @mail($to, $subject, $html_msg, $header);
} V php jsem začátečník a tohle je nad moje síly. Prosím jestli někdo můžete, mrkněte se na ten kód hlavičky a nasměrujte mě kam to dosadit a hlavně jak. Tento kód je vytažený ze souboru, který zajišťuje odesílání samotného meilu. Ještě doplním, že se jedná o hotový naprogramovaný PHP software. Díky moc za případné rady. |
||
| AM_ Profil |
#2 · Zasláno: 25. 9. 2009, 14:52:25 · Upravil/a: AM_
tak tohle je jednoduché až to bije do očí :)
„sprintf("Content-Type: %s; charset=\"%s\"","text/html","iso-8859-1").“ a říkáš, že soubory máš v UTF8. takže druhý parametr má být "utf-8"; mimochodem, já bych celou funkci sprintf nahradil prostě "content-type:text/html;charset=utf-8". A hlavně, za tenhle řádek patří středník místo tečky, jinak se ti bude k hlavičce nesmyslně připojovat i parametr $params. //edit: pro jednoznačnost uvedu opravený úryvek kódu: "Content-Transfer-Encoding: 7bit\n".
"content-type:text/html;charset=utf-8\n" ;
$params = sprintf("-oi -f %s", $from_email); |
||
| Ousteen Profil * |
#3 · Zasláno: 26. 9. 2009, 06:57:33
AM_ : Perfekt. :) Díky. Nahradil jsem funcki sprintf jak jsi mi poradil a funguje tooo! :) Ale má to háček. Text e-mailů se teď sice zobrazí správně, ale předvyplněné údaje hlavičky jsou pořád rozhozené. Myslím teď např. předvyplněný předmět a jméno. Šlo by ještě něco udělat s tímto?
|
||
|
Časová prodleva: 17 let
|
|||
0