Autor | Zpráva | ||
---|---|---|---|
DarknessMaster Profil |
#1 · Zasláno: 20. 4. 2012, 12:03:01
Zdravim, jelikoz jsem v php pomerne novy a po nekolika dnech zkoumani i dost zoufaly chtel bych vas poprosit o pomoc.
Jedna se o nasledujici problem: php skript cte imap maily pricemz body posledni zpravy prevede do rss feedu. Toto v principu funguje bez problemu, komplikace nastanou s pos***** cestinou kdy kazdy klient posila maily v jine znakove sade a s jinym kodovanim obsahu. Na prevod kodovani i znakove sady jsou definovane nastroje nicmene ani za nic nemuzu najit zpusob jak zjistit z mailu hodnotu body-charset a Content-Transfer-Encoding. Nikde v dokumentaci se nemuzu dopatrat zadne funkce ktera by to umoznovala. Zrejme vsichni programatori vystaci s ascii znaky a problematika kodovani a znakovych sad jim nic nerika. Pokud mate nekdo jakekoliv info ohledne teto problematiky budu jen rad. DM |
||
Tori Profil |
Ve FAQ je funkce na automatický převod win1250 a latin2 do utf-8, nepomohla by?
|
||
DarknessMaster Profil |
#3 · Zasláno: 21. 4. 2012, 07:25:49
Bohuzel nepomohla, v techto charsetech maily moc nechodi, vetsinou maji iso nebo utf8, to je pak treba detekovat a podle potreby prevest. Navic nekdy jsou znaky kodovane v 8bitech a nekdy quoted-printable coz je taky treba detekovat a patricne prevest.
Prevod problem neni, jde o to ze nemam jak zjistit v cem ten mail prisel.:( |
||
Dědek Profil |
#4 · Zasláno: 21. 4. 2012, 15:05:49
Nezkoušel jsem, ale nepomohlo by tohle http://www.php.net/manual/en/function.imap-fetchheader.php a pak dohledat příslušný údaj?
|
||
Časová prodleva: 6 dní
|
|||
DarknessMaster Profil |
#5 · Zasláno: 27. 4. 2012, 12:00:35
Dědek:
Diky za tip, budu to muset udelat takto rucne. Marne jsem hledal na funkci get header ktera by vratila primo pole charset a encoding ale z duvodu ignorace skutecnosti ze existuje jina znakova sada nez pouzivaji anglicky mluvici zeme nic takoveho neexistuje. Vrhnu se tedy do tvorby vlastni funkce s pouziti zmineneho fetchheader. Diky. DM |
||
Časová prodleva: 12 let
|
0