[Moscow.pm] SOAP::Lite и юникод

Dmitry E. Oboukhov unera на debian.org
Ср Окт 28 06:31:10 PDT 2009


Написал серверок SOAP (на базе транспорта CGI), который предоставляет
несколько функций.

Клиент может их вызывать, все вроде красиво.

но если в сервере функция вида

use utf8;

package Foo;

sub foo { return 'Вася Пупкин'; }

1;

то клиент вида

use utf8;
my $client = SOAP::Lite->new(proxy => $url, ns => 'Foo');
my $result = $client->call('foo')->result;

получает не utf8 строку.

приходится делать так:

use Encode qw(decode);
my $result = decode utf8 => $client->call('foo')->result;


Но, поскольку сервер возвращает сложные объекты (составные хеши с
массивами), то использовать Encode::decode крайне неудобно и не
хочется.

На сервере выключить использование utf8 не могу, поскольку сервер там
- набор модулей о ~60 мегабайтах суммарно и все они написаны с
use utf8.

в документации на SOAP::Lite что-то я не нашел как можно решать
указанную проблему.
А кто что посоветует?
--
... mpd playing: Accept - Neon Nights

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera на debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537
----------- следущая часть -----------
A non-text attachment was scrubbed...
Name: отсутствует
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20091028/57769fa0/attachment-0001.bin>


Подробная информация о списке рассылки Moscow-pm