Autor Zpráva
DarknessMaster
Profil
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
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
Nezkoušel jsem, ale nepomohlo by tohle http://www.php.net/manual/en/function.imap-fetchheader.php a pak dohledat příslušný údaj?
DarknessMaster
Profil
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

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: