Article View: pl.comp.lang.perl
Article #51945"Piekło" kodowania ...
From: mrek
Date: Tue, 13 Jul 2010 23:43
Date: Tue, 13 Jul 2010 23:43
51 lines
2526 bytes
2526 bytes
Witam wszystkich chcących pomagać w taki czy inny sposób ;-).
Toczę nierówną walkę z fragmentem skryptu, który w założeniu ma zmienić
kodowanie treści wiadomości pocztowej (tekstu) do CP1250. Tekst ten
zostanie w dalszej części użyty do przygotowania wydruku, stąd potrzeba
użycia strony kodowej win.
Skrypt który próbuję popełnić pracował będzie pod Win.
Wysyłam sobie mailem zestaw polskich znaków diakrytycznych duże i małe
litery w ramach testu.
Odbieram wiadomość za pomocą Net-POP3.
Wyciągam treść wiadomości (tekst) i dostaję go w postaci z RFC czyli
=CA=D3=A1=A6=A3=AF=AC=C6=D1 =EA=F3=B1=B6=B3=BF=BC=E6=F1
poniżej kawałek skryptu w którym ćwiczę samą konwersję i utknąłem
#!/usr/bin/perl -w
use strict;
use locale;
use Encoding;
use Data::Dumper qw(Dumper);
use Encode qw(find_encoding encode decode from_to); use MIME::QuotedPrint;
$Data::Dumper::Maxdepth = 2;
$Data::Dumper::Indent = 0;
our $tekst = '=CA=D3=A1=A6=A3=AF=AC=C6=D1 =EA=F3=B1=B6=B3=BF=BC=E6=F1';
our $tekst_zdekodowany = decode_qp($tekst); działanie tej funkcji daje
zestaw znaków ĘÓˇ¦ŁŻ¬ĆŃ ęó±¶łżĽćń przypisania dla strony kodowej
iso-8859-2 w tym miejscu zamieram bo dalsze linie nic nie zmieniają
our $tekst_in_octets = encode("iso-8859-2", $tekst_zdekodowany);
print decode("cp1250", $tekst_in_octets);
1;
------------------------
dla fontów windowsowych potrzebne jest CP1250
Czy ktoś ma jakiś pomysł bo ja już straciłem dystans do tego i nie widzę
może prostego rozwiązania.
Pozdrawiam.
Marek
Technical Details
Message-ID:
<4c3cfa30$0$17099$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!news-out2.kabelfoon.nl!newsfeed.kabelfoon.nl!xindi.nntp.kabelfoon.nl!198.186.194.249.MISMATCH!news-out.readnews.com!transit3.readnews.com!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!news-out2.kabelfoon.nl!newsfeed.kabelfoon.nl!xindi.nntp.kabelfoon.nl!198.186.194.249.MISMATCH!news-out.readnews.com!transit3.readnews.com!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail From: mrek <marq@iq.pl> Subject: "Piekło" kodowania ... Newsgroups: pl.comp.lang.perl User-Agent: Pan/0.132 (Waxed in Black) MIME-Version: 1.0 Date: 13 Jul 2010 23:43:44 GMT Lines: 52 Message-ID: <4c3cfa30$0$17099$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 95.48.69.238 X-Trace: 1279064624 unt-rea-b-01.news.neostrada.pl 17099 95.48.69.238:54898 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit