🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #51946

Re: "Piekło" kodowania ...

#51946
From: Maciej Zielenkieiwcz
Date: Wed, 14 Jul 2010 08:51
52 lines
2621 bytes
On 2010-07-13 23:43, mrek <marq@iq.pl> wrote:
> 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 = decode("iso-8859-2", $tekst_zdekodowany);
>
  print encode("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.

Owszem, trzeba zamienić miejscami encode() i decode (patrz wyżej). One
robią to co mają w nazwie ;-).
Technical Details
Message-ID: <i1jtps$6v8$1@io.staszic.waw.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.staszic.waw.pl!not-for-mail
References: <4c3cfa30$0$17099$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.staszic.waw.pl!not-for-mail
From: Maciej Zielenkieiwcz <mzielenkiewicz@gmail.com>
Newsgroups: pl.comp.lang.perl
Subject: Re: "Piekło" kodowania ...
Date: Wed, 14 Jul 2010 08:51:08 +0000 (UTC)
Organization: XIV LO im. S. Staszica w Warszawie
Lines: 52
Message-ID: <i1jtps$6v8$1@io.staszic.waw.pl>
References: <4c3cfa30$0$17099$65785112@news.neostrada.pl>
NNTP-Posting-Host: io.staszic.waw.pl
Mime-Version: 1.0
X-Trace: news.net.icm.edu.pl 1279097703 32009 94.240.45.200 (14 Jul 2010 08:55:03 GMT)
X-Complaints-To: usenet@news.net.icm.edu.pl
NNTP-Posting-Date: Wed, 14 Jul 2010 08:55:03 +0000 (UTC)
User-Agent: slrn/0.9.9p1 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit