Portál AbcLinuxu, 7. května 2025 12:35

Dotaz: kódování předmětu ve funkci mail() v PHP

17.11.2005 15:28 Open Mage | skóre: 24 | Lom
kódování předmětu ve funkci mail() v PHP
Přečteno: 4877×
Odpovědět | Admin
Ahoj,

jak se dá udělat poslání emailu z PHP v potřebném kódováni iso-8859-2 vím, potřeboval bych ale stejně kódovat i Subject pro funkci mail(). Když má přijemcův klient anglický engine (typicky nějaký anglický webmail v perlu nebo tak), tak přijde předmět správně s diakritikou, ale jakmile je to třeba českej seznam.cz a má jiný svý defaultní kódování - diakritika jde do háje.

Někde jsem četl něco o =?iso-8859-2?blabla?= nebo podobně, ale nefunguje mi to a ne a ne najít k tomuhle nějakou dokumentaci.

Poradí někdo ? Díky, Standa
Stanislav Puffler, DiS. specialista na internet marketing a ecommerce www.openmage.cz tel. 773 565 747
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.11.2005 15:43 tomas84 | skóre: 30
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dokumentace je RFC 2047.

Tohle máte špatně: =?iso-8859-2?blabla?=

Má to vypadat asi takhle: =?iso-8859-2?Q?blabla?= kde „blabla” musíte zakódovat quoted-printable

nebo: =?iso-8859-2?B?blabla?= kde „blabla” musíte zakódovat pomocí base64
17.11.2005 16:01 Open Mage | skóre: 24 | Lom
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP
Díky moc, to je přesně ono. Čili
$clearsubject = "něco ěščřžýáíé";
$encodedsubject = base64_encode ($clearsubject);
$subject = "=?iso-8859-2?B?$encodedsubject?=";
Vyzkouším.
Stanislav Puffler, DiS. specialista na internet marketing a ecommerce www.openmage.cz tel. 773 565 747
24.1.2009 14:15 pinokio88
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP

Wow, strejdové linuxáci, moc díky, přesně tohle jsem hledal ;-)

18.9.2007 19:49 Vikin
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nechci pouzivat uz vytvorene tridy na posilani mailu - proto resim tenhle problem taky.

Ale nejak mi porad nejde kodovani ž a š (a myslim ze z ceskych znaku nepujde jeste ť). Poradite nekdo?
18.9.2007 19:56 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP
To obvykle bývá způsobeno tím, že jedna strana použije ISO 8859-2 a druhá si myslí, že je to Windows 1250, nebo naopak.
18.9.2007 19:59 outsider
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP
"nejak mi porad nejde" neni dostatecny popis problemu. Je puvodni text opravdu v ISO-8859-2? Ten zakodovany text vypada jak?
19.9.2007 11:35 Vikin
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP
Nejde o kodovani samotneho e-mailu - ten jde jednoduse poslat v HTML a tim urcit i jeho samotne kodovani (HTML)

Ale ja resim problem stejny jako nahore (kodovani PREDMETU a tim padem i JMENO ODESILATELE), resim ho stejne, ale š a ž se vubec nezobrazi...
19.9.2007 11:53 Richard Gavenda | skóre: 19 | Třinec
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP
Vždyť ti taky outsider odpověděl. Jsi si jistý, že text předmětu máš opravdu v ISO8859-2. Správný postup přípravy předmětu je překódovat text předmětu do ISO8859-2 a pak zakódovat do base64 nebo quoted printable
19.9.2007 13:37 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP
Posílání HTML e-mailů bez textové alternativy je prasárna, za kterou by měly být tělesné tresty. Nepřipadá vám jednodušší prostě nastavit správně hlavičku Content-Type?
19.9.2007 11:45 Vikin
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP
VYRESENO :-)
19.9.2007 13:50 Krystl
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP
Hodilo by se napsat v cem byl problem, at se dalsi nemusi znova ptat.
19.9.2007 14:00 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP
Je to tu popsáno x× – vložil informaci o kódování iso8859-2 a poslal windows-1250, nebo naopak.
20.9.2007 14:50 Vikin
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP
Melsem jen prohozeny 2 pismenka v nazvu kodovani -> funguje to co je nahore;)
21.8.2008 23:11 Kelis
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP
Mel bych dotaz ktere dve pismenka byla prohozena. Me totiz stale dela problem zminovane ž a š. Diky za pripadnou reakci
23.8.2008 17:35 luky
Rozbalit Rozbalit vše Re: kódování předmětu ve funkci mail() v PHP
asi proto, ze jak uz vam bylo vyse naznaceno, nejde o zadne magicke retezce, ale specifikaci kodovani. ktere si musite zajistit sam.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.