🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

"Piekło" kodowania ...

#51945
From: mrek
Date: Tue, 13 Jul 2010 23:43
51 lines
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-mail

Show 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