kiwanami/emacs-edbi — Issue #1: Oracleの場合にepcがエラーを起こす
Author: buzztaiki
Created: 2012-02-17 02:35:52+00:00
State: open

Oracleの場合、以下の理由でエラーが起きるようです。
- `DBD::Oracle`は文字列にutf-8 flagを付けて返す
- `AnyEvent`はutf-8 flagが付いてるとエラーを起こす

以下のコードでOracle関係なしに再現できます。

サーバ側::

use RPC::EPC::Service;

my $server = RPC::EPC::Service->new(8888, {
'identity' => sub {
my ($args) = @_; return $args;
}});
$server->start;

クライアント側::

use RPC::EPC::Service;
use Data::Dumper;
use Encode;

my $client = RPC::EPC::Service->new(8888, {});
$client->client_start;
foreach my $text ('abcd', '日本語', 'efgh') {
print Dumper $client->call_method('identity', [Encode.decode_utf8($text)])->recv;
}
$client->stop;