Ahoj, nepřešlo ubuntu mezi těma verzema z kódování češtiny iso-8859-2 na utf-8? Myslím, že doma mám jeden 10.04, mohl bych se podívat. Zkusil bych každopádně na 10.04 LC_ALL="C" mujskript.py jestli se to píše takhle. Nebo ma 12.04 LC_ALL="cs_CZ.iso-8859-2" mujskript.py jestli se to píše takhle, ale pokud to dopadne dobře, tak bych z toho ještě nic neusuzoval.
Každopádně: u"odložení trestního oznámení".encode("utf-8") odpovídá tomuto: odlo=C5=BEen=C3=AD trestn=C3=ADho ozn=C3=A1men=C3=AD takže tam je to správně. Ale "odlo=17Een=ED trestn=EDho ozn=E1men=ED" je takovej zvláštní paskvil, který dostanu, když udělám "odlo\xC5\xBEen\xC3\xAD trestn\xC3\xADho ozn\xC3\xA1men\xC3\xAD".decode("utf-8") Takže se tam objeví už dekódovanej string, ale někdo si myslí, že to má být unicode, a znovu ho dekóduje. Podezíral bych wxPython, ale to tam asi nemáš ;-) -- Petr 2013/10/23 <mol-pyt...@seznam.cz> > Kecám z hladu, pardon. > > ---------- Původní zpráva ---------- > Od: mol-pyt...@seznam.cz > Datum: 23. 10. 2013 > Předmět: Re: [python] Poskozena diakritika pri zpracovani mailu na starsim > Ubuntu > > Dobrý den. > Předpokládám, že ty ukázky dole jsou až z toho odesílaného textu? Takže by > bylo asi potřeba vidět spíš tu část kódu, která to vytváří. Protože > rozkódovaný je to dobře, akorát se zakódovalo jako latin2, což neodpovídá > posílané hlavičce. > > Zdraví, > MM > > ---------- Původní zpráva ---------- > Od: Vladimir Macek <ma...@sandbox.cz> > Datum: 23. 10. 2013 > Předmět: [python] Poskozena diakritika pri zpracovani mailu na starsim > Ubuntu > > Zdravim, > > dodavam klientovi skript pro stazeni mailu z POP3, preformatovani a > odeslani pres SMTP. Touto metodou beru z puvodniho mailu textovou cast: > > def get_email_text(self, msg): > """ > get plaintext part of the message, or None if none > """ > get_charset = lambda msg: msg.get_content_charset() or > msg.get_charset() or 'ascii' > get_payload = lambda msg: unicode(msg.get_payload(decode=True), > get_charset(msg), 'replace') > > maintype = msg.get_content_maintype() > if maintype == 'multipart': > return u'\n'.join(get_payload(part) for part in > typed_subpart_iterator(msg, 'text', 'plain')) > elif maintype == 'text': > return get_payload(msg) > else: > return None > > > U me na Ubuntu 12.04.3 LTS s Python 2.7 i na Debian Squeeze s Python 2.6 > se maily zpracuji dobre. Zahlavi hlavni casti zdrojaku vysledneho mailu a > dobre kodovany vyraz "odlozeni trestniho oznameni": > > Content-Type: text/html; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: quoted-printable > > odlo=C5=BEen=C3=AD trestn=C3=ADho ozn=C3=A1men=C3=AD > > > Nicmene u klienta na Ubuntu 10.04 LTS s Python 2.6 maji vsechny maily > diakritiku poskozenou, opet zahlavi s stejne slovo blbe kodovane: > > Content-Type: text/html; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: quoted-printable > > odlo=17Een=ED trestn=EDho ozn=E1men=ED > > > Vim, ze 10.04 je dost stara verze, ale takhle zlobit? Zaslal mi vypis > promennych prostredi, nevidim tam nic podezreleho. > > Nesetkal se nekdo z vas s necim podobnym? > > Diky predem, > > Vlada > > _______________________________________________ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > _______________________________________________ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > > _______________________________________________ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > -- _________________________________ http://sites.google.com/site/petrsstuff/
_______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python