Portál AbcLinuxu, 23. dubna 2024 19:04


Dotaz: Převod textu - cz kódování

23.4.2014 11:17 Nowis
Převod textu - cz kódování
Přečteno: 237×
Odpovědět | Admin
Zdravím,

mám takový shellový skriptík, který vysekávý z maillogu postfixu hlavičky mailů a dává je do databáze.

chtěl bych ještě dořešit problém s kódováním, neboť v tom postfixu se "subject" (pokud obsahuje češtinu) zapíše např takto:

=?utf-8?Q?=C4=8De=C5=A1tin=C3=A1?=
nebo
=?iso-8859-2?Q?po=E8=EDta=E8?=

Chtěl bych, aby se předměty do DB ukládaly rovnou s českými znaky. Zkoušel jsem to stylem:

sed "s/=C5=A1/š/g" mailheaders | sed "s/=C5=A0/Š/" | ……... > mailheaders.cz

...což sice funguje, ale jen u mně na počítači, ale na serveru ne, protože ten zřejmě české znaky neumí. Další věc je, že si myslím, že bude určitě existovat nějaký elegantnější způsob, je to tak?

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.4.2014 19:37 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Převod textu - cz kódování
Odpovědět | | Sbalit | Link | Blokovat | Admin

Tento zápis se řídí podle RFC 2047 a použít můžete třeba perlový modul Email::MIME::RFC2047::Decoder:

$ printf '=?iso-8859-2?Q?po=E8=EDta=E8?=\n' | perl -Mopen=:locale -MEmail::MIME::RFC2047::Decoder -ple '$_=Email::MIME::RFC2047::Decoder->decode_text($_)'
počítač

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.