Autor | Zpráva | ||
---|---|---|---|
Marcus Flintus Profil |
#1 · Zasláno: 15. 8. 2010, 02:36:42
Zdravím,
mám takovej zvláštní dotaz. Měl jsem dlouho problémy s kódováním předmětu e-mailu posílaného pomocí mail(), stránky mám v UTF-8. Když jsem nechal předmět jentak, samozřejmě některé znaky dělaly problém (např. č) Tak jsem zkusil tento kód: $subject = "=?UTF-8?Q?".imap_8bit($subject)."?="; Ten sice zabral pěkně, ale vždycky když byl předmět delší (třeba 50 znaků), vložila se tam rovnítko a "mezera"... mezeru není mezera odřádkování. Jen se jako mezera v předmětu e-mailů jevila. Použil jsem proto tento kód: $subject = "=?UTF-8?Q?".str_replace("=\r\n", "", imap_8bit($subject))."?="; Který funguje parádně, naprosto spolehlivě. Můj dotaz spočívá v tom, jestli mi může někdo vysvětlit proč se tam přidává to co tam nemá co dělat? A jestli mé řešení nemá vedlejší účinek o kterém nevím... ? Díky |
||
AM_ Profil |
#2 · Zasláno: 15. 8. 2010, 09:04:22
z wikipedie:
Lines of quoted-printable encoded data must not be longer than 76 characters. To satisfy this requirement without altering the encoded text, soft line breaks may be added as desired. Stačilo vygooglit "quoted-printable added space" a našel jsem :) používej google. Mimochodem, když tuhle mezeru odstraníš, tak tvůj string teoreticky nesplňuje specifikaci quoted-printable. |
||
Marcus Flintus Profil |
#3 · Zasláno: 15. 8. 2010, 13:13:19
Aha... ono na druhou stranu je to těžký vejít se s pár slovy pod 76 znaků, když každý písmenko s diakritikou má 6 znaků... :-/
|
||
Časová prodleva: 14 let
|
0