🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
8 messages
8 total messages Started by Giz Thu, 01 Aug 2013 08:38
SOAP::Lite i problem z kodowaniem
#52545
Author: Giz
Date: Thu, 01 Aug 2013 08:38
43 lines
2185 bytes
Witam,

Mam problem z SOAP::Lite
Wysyłam po przez niego dane na pewien serwer i niestety ale polskie znaki 
błędnie docierają.

Tekst wcześniej przygotowuje w kodowaniu utf-8 ale także próbowałem w 
ISO-8859-2
i odpowiednio ustawiam encoding poniżej

my $client=SOAP::Lite -> proxy($host)->encoding('UTF-8');

Jednak cały czas wynik po drugiej stronie dociera w nieprawidłowy sposób.
Także przechwytując wysyłane dane widzę, że jest źle kodowane.

Gdy wysyłam jako UTF-8 to w podglądzie widzę ewidetnie jakby dane były 
niepotrzebnie jeszcze raz zamieniane na UTF-8
(dane wychodzą podwójnie zakodowane)



Szukałem więc w cpan informacji czy ktoś zgłaszał jakieś błędy o tym i 
znalazłem temat #73802.
Ktoś wspomina o błędzie w SOAP::Transport::HTTP w lini 205

$envelope = Encode::encode('UTF-8', $envelope);
i poprawił na
$envelope = Encode::encode($encoding, $envelope);

I w nowych wersjach SOAP::Lite widać tą poprawkę ale to i tak nie naprawia 
mojego błędu
W moim przypadku wydaje się, że pomaga dopiero całe usunięcie tej lini bo z 
tym to niepotrzebnie koduje jeszcze raz.

Może ktoś to ocenić i powiedzieć czy to ja coś źle robie czy to 
najwidoczniej błąd w SOAP::Lite?


Miałem wersje 0.714
obecnie 1.02 i bez zmian

Pozdr
G
Re: SOAP::Lite i problem z kodowaniem
#52546
Author: Stachu 'Dozzie' K.
Date: Thu, 01 Aug 2013 09:08
30 lines
2254 bytes
On 2013-08-01, Giz <giz@nospam.pl> wrote:
> Mam problem z SOAP::Lite
> Wysyłam po przez niego dane na pewien serwer i niestety ale polskie znaki 
> błędnie docierają.
>
> Tekst wcześniej przygotowuje w kodowaniu utf-8 ale także próbowałem w 
> ISO-8859-2
> i odpowiednio ustawiam encoding poniżej
>
> my $client=SOAP::Lite -> proxy($host)->encoding('UTF-8');
>
> Jednak cały czas wynik po drugiej stronie dociera w nieprawidłowy sposób.
> Także przechwytując wysyłane dane widzę, że jest źle kodowane.
>
> Gdy wysyłam jako UTF-8 to w podglądzie widzę ewidetnie jakby dane były 
> niepotrzebnie jeszcze raz zamieniane na UTF-8
> (dane wychodzą podwójnie zakodowane)

A co przekazujesz do SOAP::Lite? Bajtstringi czy tekst w wewnętrznym
kodowaniu Perla? (To znaczy: używasz pragmy encoding?)
#v+
$ perl -mencoding=utf8 -e '$char = substr "ą", 0, 1; $code = ord $char; printf "0x%02x\n", $code'
0x105
$ perl -e '$char = substr "ą", 0, 1; $code = ord $char; printf "0x%02x\n", $code'         
0xc4
#v-

-- 
Secunia non olet.
Stanislaw Klekot
Re: SOAP::Lite i problem z kodowaniem
#52547
Author: Giz
Date: Thu, 01 Aug 2013 09:36
29 lines
1755 bytes
> A co przekazujesz do SOAP::Lite? Bajtstringi czy tekst w wewnętrznym
> kodowaniu Perla? (To znaczy: używasz pragmy encoding?)
> #v+
> $ perl -mencoding=utf8 -e '$char = substr "ą", 0, 1; $code = ord $char; 
> printf "0x%02x\n", $code'
> 0x105
> $ perl -e '$char = substr "ą", 0, 1; $code = ord $char; printf "0x%02x\n", 
> $code'
> 0xc4
> #v-
> -- 
> Secunia non olet.
> Stanislaw Klekot

Nieznam się zbytnio na tym o czym piszesz.

Poniżej wklejam wynik tego co podałeś

$ perl -mencoding=utf8 -e '$char = substr "ą", 0, 1; $code = ord $char; 
printf "0x%02x\n", $code'
Malformed UTF-8 character (unexpected continuation byte 0xb1, with no 
preceding start byte) at -e line 1.
0x00
$ perl -e '$char = substr "ą", 0, 1; $code = ord $char; printf "0x%02x\n", 
$code'
0xb1

Pozdr
G
Re: SOAP::Lite i problem z kodowaniem
#52548
Author: Stachu 'Dozzie' K.
Date: Thu, 01 Aug 2013 09:51
32 lines
2214 bytes
On 2013-08-01, Giz <giz@nospam.pl> wrote:
>> A co przekazujesz do SOAP::Lite? Bajtstringi czy tekst w wewnętrznym
>> kodowaniu Perla? (To znaczy: używasz pragmy encoding?)
>> #v+
>> $ perl -mencoding=utf8 -e '$char = substr "ą", 0, 1; $code = ord $char; 
>> printf "0x%02x\n", $code'
>> 0x105
>> $ perl -e '$char = substr "ą", 0, 1; $code = ord $char; printf "0x%02x\n", 
>> $code'
>> 0xc4
>> #v-

> Nieznam się zbytnio na tym o czym piszesz.
>
> Poniżej wklejam wynik tego co podałeś

Na programowaniu zapewne też niespecjalnie, sądząc po wklejce. To nie
było pytanie, tylko podpowiedź.
A "nie znam się" pisze się rozdzielnie.

> $ perl -mencoding=utf8 -e '$char = substr "ą", 0, 1; $code = ord $char; 
> printf "0x%02x\n", $code'
> Malformed UTF-8 character (unexpected continuation byte 0xb1, with no 
> preceding start byte) at -e line 1.
> 0x00
> $ perl -e '$char = substr "ą", 0, 1; $code = ord $char; printf "0x%02x\n", 
> $code'
> 0xb1

-- 
Secunia non olet.
Stanislaw Klekot
Re: SOAP::Lite i problem z kodowaniem
#52549
Author: Giz
Date: Thu, 01 Aug 2013 16:19
14 lines
1423 bytes
>> Nieznam się zbytnio na tym o czym piszesz.
> Na programowaniu zapewne też niespecjalnie, sądząc po wklejce.

Tak tak, pewnie masz racje. Ale to nie było miłe.

Do SOAP::Lite wkładam dane jak poniżej:

my $nasztekst='ąśćółżźćń';
my $client=SOAP::Lite -> proxy($host)->encoding('ISO-8859-2');
$som=$client->call('NazwaFunkcji',SOAP::Data->name('tekst') ->value( 
"$nasztekst" ));

pozdr
G
Re: SOAP::Lite i problem z kodowaniem
#52550
Author: Stachu 'Dozzie' K.
Date: Fri, 02 Aug 2013 08:42
20 lines
1974 bytes
On 2013-08-01, Giz <giz@nospam.pl> wrote:
>>> Nieznam się zbytnio na tym o czym piszesz.
>> Na programowaniu zapewne też niespecjalnie, sądząc po wklejce.
>
> Tak tak, pewnie masz racje. Ale to nie było miłe.

Internetsy nie są miłym miejscem. Możesz spotkać buraków takich jak ja.

> Do SOAP::Lite wkładam dane jak poniżej:
>
> my $nasztekst='ąśćółżźćń';
> my $client=SOAP::Lite -> proxy($host)->encoding('ISO-8859-2');
> $som=$client->call('NazwaFunkcji',SOAP::Data->name('tekst') ->value( 
> "$nasztekst" ));

Ponawiam pytanie sprzed dwóch postów: używasz pragmy encoding?

-- 
Secunia non olet.
Stanislaw Klekot
Re: SOAP::Lite i problem z kodowaniem
#52551
Author: karraso
Date: Mon, 05 Aug 2013 20:12
5 lines
1392 bytes
> Internetsy nie są miłym miejscem. Możesz spotkać buraków takich jak ja.
>
Potwierdzam
Stachu nie jest miłym osobnikiem :)
Re: SOAP::Lite i problem z kodowaniem
#52552
Author: wozniak grzegorz
Date: Thu, 08 Aug 2013 08:52
14 lines
1477 bytes
Giz wrote:

> 
> Do SOAP::Lite wkładam dane jak poniżej:
Stacho miał na myśli dopisanie:
use encoding "utf8";
#właśnie tutaj ;)
> my $nasztekst='ąśćółżźćń';


-- 
Pozdrawiam
Grzegorz Woźniak
xmpp:skinek_at_jabster_pl
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads