Portál AbcLinuxu, 12. května 2025 11:33
Tu ruskou verzi stránek ale asi v cp1250 nemáte, že?
Ty HTML entity v e-mailu se snad správně nezobrazí? Vy ten e-mail asi teda posíláte jako textový (plain/text) a do něj prostě dáte to co vám přijde z formuláře. Asi ten e-mail budete muset posílat v UTF-8 a entity převést.
Ještě rýpnutí - že by kvůli používání UTF-8 na webu bylo nutné předělat celé stránky... to je snad jen výsada PHP
meta http-equiv="Content-type" content="text/html; charset=windows-1250">
texty jsou ulozene pomoci html entit (nas redakcni system si to takto ulozi) S tim mailem je to jak popisujes, potrebuji ty entity prevest a pak poslat.
Jinak ohledne toho rypnuti, prevedeni stranek na UTF-8 neni mozne z toho duvodu, ze stranky funguji na RS na kterem funguje dalsich cca 3000+ webu na spolecnem jadre. Pokud bych udelal hack pro tyto jedny, zase bych musel testovat co se mi rozsype a co ne a to neni prace na jedno odpoledne.
Znaková sada windows-1250 neobsahuje azbuku, takže neexistuje žiaden spôsob ako by email vo formáte plaintext kódovaný vo windows-1250 mohol zobraziť azbuku. To že to bol prehliadač schopný odoslať je dané tým, že to predtým prepísal na entity, ktoré by v HTML boli zobraziteľné.
Buď do svojho systému dorobíte podporu pre rôzne kódovania pre rôzne weby, alebo prejdete na UTF8. Tá druhá možnosť mi príde jednoduchšia a celkovo robustnejšia...
Alebo dorobíte škaredý hack, ktorý pri odosielaní mailov z tejto ruskej verzie webu odošle plaintext s kódovaním windows-1251 a predtým tie HTML entity prekope späť na ruské znaky.
Takže nejspíš převést text e-mailu do utf-8, pak html_entity_decode s charset
nastaveným na UTF-8
a posílat e-mail v utf-8... Nedokážu si představit, jak jinak to udělat, kromě poslání mailu jako HTML (a i v tom případě je slušností poslat textovou verzi).
Těmi 3000+ weby ve mě docela probouzíte zvědavost
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.