Zadejte hledaný výraz...

Kódování UTF 8

Aleshoo
verified
rating uzivatele
(10 hodnocení)
28. 4. 2015 14:53:07
Prosím pomoc, jsem laik. Mám statické stránky a k tomu pouze php odpovědní formulář. Jakmile se odešle, vrátí to špatné kódování.
Jak se prosím píše syntaxe pro php soubor? Když použiju syntaxi html, soubor se nespustí.
Díky!!
soubor kontakt.php
$to = "muj@mail.cz";
$extra = "From: ".$_POST."rnReply-To: ".$_POST."rn";
$subject = "Kontakt z webu od ".$_POST."";
$mess = "Jméno: ".$_POST."n
Firma: ".$_POST."n
Email: ".$_POST."n
Telefon: ".$_POST."n
Pozice: ".$_POST."n
Text:n".$_POST."";
mail ($to, $subject, $mess, $extra);
sleep(500);
echo '
Děkujeme, zpráva byla odes lána. V brzké době se Vám ozveme.

';
?>
28. 4. 2015 14:53:07
https://webtrh.cz/diskuse/kodovani-utf-8/#reply1109705
Rovněž musí být celý soubor uložen s kódováním UTF-8
28. 4. 2015 15:02:27
https://webtrh.cz/diskuse/kodovani-utf-8/#reply1109704
Martin
verified
rating uzivatele
(62 hodnocení)
28. 4. 2015 15:26:23
Proč tam je ten sleep(500)?
28. 4. 2015 15:26:23
https://webtrh.cz/diskuse/kodovani-utf-8/#reply1109703
Aleshoo
verified
rating uzivatele
(10 hodnocení)
28. 4. 2015 16:50:00
Kluci díky, to kódování celého souboru bude asi příčina - za chvíli vyzkouším. Sleep mám protože, to hodí tu hlášku, že byla zpráva odeslána a pak to přesměruje zpět na prázdný formulář. Jen tady je trochu o řádek výš ;o)
---------- Příspěvek doplněn 28.04.2015 v 20:26 ----------
Konvertoval jsem soubor do utf-8 a ani toto nepomohlo, hlavičku a v ní meta conten type jjsem již měl. Nenapadá vás ještě něco?
28. 4. 2015 16:50:00
https://webtrh.cz/diskuse/kodovani-utf-8/#reply1109702
sleep(500)? To jako fakt? :-)) Uspíš celý script na 500 vteřin než vrátíš uživateli response? Řádek rozhodně odstranit :-) Nebo mi něco uniká? :-)
jinak problém může být, že ukládáš sice UTF-8 kódování, ale v editoru je ještě potřeba nastavit UTF-8 bez BOM (UTF-8 without BOM). Začátku scriptu bych ještě nastavil header() takto:
ob_start(); // tato funkce umožňuje upravit hlavičky ikdyž už byl do výstupu napsán nějaký text či html ...
header('Content-Type: text/html; charset=UTF-8');
Mělo by pomoci ... pokud ne, tak bych se podíval na funkci mb_internal_encoding() a případně ji nastavil na 'utf8' (pravděpodobně bude latin...)
Dále by stálo za prozkoumání funkce:
http://php.net/manual/en/function.mb-http-input.php a http://php.net/manual/en/function.mb-http-output.php
29. 4. 2015 21:49:01
https://webtrh.cz/diskuse/kodovani-utf-8/#reply1109701
crs
verified
rating uzivatele
(1 hodnocení)
14. 5. 2015 17:53:50
Zdravím,
"vrátí to špatné kódování" - myslíte text v jiném kódování, než chcete? Kde přesně? V odpovědi skriptu, v těle mailu nebo předmětu mailu?
Krom nastavení utf-8 v meta hlavičce musí být soubor také samozřejmě uložen v utf-8.
Ohledně kódování e-mailů viz např. http://php.vrana.cz/kodovani-hlavicek-e-mailu.php
14. 5. 2015 17:53:50
https://webtrh.cz/diskuse/kodovani-utf-8/#reply1109700
Aleshoo
verified
rating uzivatele
(10 hodnocení)
15. 5. 2015 22:23:08
Díky,
úprava podle Rapemera pomohla v tom, že se na html stránce s "Děkováním" objevuje správně diakrititka. Mám i uloženo v utf-8. Avšak do mailu stále chodí špatné kódování.
Ve všem - v těle mailu, i jiných formulářových kolonkách: jméno, příjmení, funkce, firma...
Tak stále hledám.
15. 5. 2015 22:23:08
https://webtrh.cz/diskuse/kodovani-utf-8/#reply1109699
tomas505
verified
rating uzivatele
(10 hodnocení)
15. 5. 2015 23:46:32
Mělo by pomoci posílat ještě kódování v hlavičce emailu:
15. 5. 2015 23:46:32
https://webtrh.cz/diskuse/kodovani-utf-8/#reply1109698
Aleshoo
verified
rating uzivatele
(10 hodnocení)
17. 5. 2015 10:17:04
Toto funguje. Hurá! Jenom s jednou zvláštností, od teď je odpověď pouze součástí přílohy untitled file. Před tím to bylo součástí těla mailu.
Takže teď kód vypadá nějak takto:
ob_start();
header('Content-Type: text/html; charset=UTF-8');
$to = "muj@mail.cz";
$extra = "From: ".$_POST."rnReply-To: ".$_POST."rnContent-type:plain/text;charset=UTF-8rn";
$subject = "Kontakt z webového formuláře od ".$_POST."";
$mess = "Jméno: ".$_POST."n
Firma: ".$_POST."n
Email: ".$_POST."n
Telefon: ".$_POST."n
Pozice: ".$_POST."n
Text:n".$_POST."rnContent-type:plain/text;charset=UTF-8rn";
mail ($to, $subject, $mess, $extra);
echo '
Děkujeme, zpráva byla odeslána. V brzké době se Vám ozveme.

';
?>
17. 5. 2015 10:17:04
https://webtrh.cz/diskuse/kodovani-utf-8/#reply1109697
Pro odpověď se přihlašte.
Přihlásit