From: Stanislav Yadykin <tosick@altlinux.ru> To: community@altlinux.ru Subject: [Comm] Perl unicode Date: Thu, 21 Oct 2004 12:18:27 +0300 Message-ID: <200410211218.36489.tosick@altlinux.ru> (raw) [-- Attachment #1: Type: text/plain, Size: 1871 bytes --] Добрый день! Поскольку у моего аплинка временная проблема с ru.perl, решил написать сюда, возможно кто-то сталкивался/знает. Есть программа: ============================== use Net::Jabber qw(Client); use Text::Iconv; my $jabber = new Net::Jabber::Client; $jabber->Connect(hostname => 'host'); my @status = $jabber->AuthSend( 'username' => 'user', 'password' => 'password', 'resource' => 'client' ); $jabber->PresenceSend('type' => 'available'); $jabber->SetCallBacks('message' => \&JabberGetMessage); while($jabber->Process){ 1; } sub fUni { my $conv = Text::Iconv->new('utf8', 'windows-1251'); return $conv->convert(shift); } sub tUni { my $conv = Text::Iconv->new('windows-1251', 'utf8'); return $conv->convert(shift); } sub JabberGetMessage { my $id = shift; my $message = shift; my $from = fUni($message->GetFrom); my $subj = fUni($message->GetSubject); my $body = fUni($message->GetBody); $jabber->MessageSend( To => 'newuser@newhost', Subject => tUni($subj), Body => tUni($body) ) } ============================== При отсылке жаббером текста "тест", проходя через этот "жаббер-прокси" приходит в виде "Ñ,еÑÑ,", т.е. почему-то проходит двойную конертацию в юникод. Если процедуру JabberGetMessage переписать в виде sub JabberGetMessage { my $id = shift; my $message = shift; $jabber->MessageSend( To => 'newuser@newhost', Subject => $message->GetSubject, Body => $message->GetBody ) } то к клиенту возвращается нормальный "тест". В чем может быть проблема? -- Stanislav Yadykin [-- Attachment #2: Type: application/pgp-signature, Size: 190 bytes --]
next reply other threads:[~2004-10-21 9:18 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2004-10-21 9:18 Stanislav Yadykin [this message] 2004-10-22 8:48 ` Stanislav Yadykin 2004-10-22 13:58 ` [Comm] " Alexey Tourbin 2004-10-22 14:51 ` Stanislav Yadykin 2004-10-22 14:25 ` Alexey Tourbin 2004-10-22 14:50 ` Stanislav Yadykin 2004-10-22 15:58 ` Alexey Tourbin 2004-10-25 6:00 ` Mike Lykov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=200410211218.36489.tosick@altlinux.ru \ --to=tosick@altlinux.ru \ --cc=community@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Community general discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 community community/ http://lore.altlinux.org/community \ mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com public-inbox-index community Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.community AGPL code for this site: git clone https://public-inbox.org/public-inbox.git