[pgsql-jp: 35728] plperl(perl v5.8.1)のマルチバイトの扱いについて
kazuhiro5_1970 @ mail.goo.ne.jp
kazuhiro5_1970 @ mail.goo.ne.jp
2005年 7月 17日 (日) 15:59:24 JST
はじめまして。初めて投稿します清田と申します。
postgres8.0.3を使用しています。
plperl(perl 5.8.1)を使ってみたいのですが、
plperlでマルチバイトはどのようにして扱えば良いのでしょうか。
例えば、下の様なfunctionを作成して、実行すると
「ERROR: invalid byte sequence for encoding "UNICODE": 0xe3」
とエラーがでます。
CREATE OR REPLACE FUNCTION testFunction ()
RETURNS text AS
$$
my $tmpStr = "あいうえお";
return substr($tmpStr, 0, 1);
$$
LANGUAGE 'plperl';
--
Unicode (UTF8)として文字を扱いたいため、
my $tmpStr = Encode::decode("utf8", "あいうえお");
とやってみましたが、この場合Encode::decodeのサブルーチンが定義されていないと
エラーになります。
/usr/bin/perlで直接実行すると、use utf8;を指定する事で、
utf8として扱えました。
もし、ご存知の方がいらっしゃいましたらご指導願えないでしょうか。
pgsql-jp メーリングリストの案内