[pgsql-jp: 35736] Re: plperl(perl v5.8.1)のマルチバイトの扱いについて

KAWAI,Takanori GCD00051 @ nifty.ne.jp
2005年 7月 24日 (日) 14:30:08 JST


川合孝典です。
plperlは長いこと使っていないんですけれど。

----- Original Message ----- 
From: <kazuhiro5_1970 @ mail.goo.ne.jp>
To: <pgsql-jp @ ml.postgresql.jp>
Sent: Sunday, July 17, 2005 3:59 PM
Subject: [pgsql-jp: 35728] plperl(perl v5.8.1)のマルチバイトの扱いについて


> はじめまして。初めて投稿します清田と申します。
(中略)
> 例えば、下の様なfunctionを作成して、実行すると
> 「ERROR: invalid byte sequence for encoding "UNICODE": 0xe3」
> とエラーがでます。
このエラーメッセージですが、このとおりなのでしょうか?
0xe3の後ろに他の文字が付いてきたりしませんか?
0xe3は「あ」のutf8の表現(0xe38182)の先頭バイトのように
思えますけど、それがうまく処理できていないのかもと
思うのですが。クライアントのエンコーディングは大丈夫ですか?

SET client_encoding TO UNICODE;
http://archives.postgresql.org/pgsql-odbc/2004-10/msg00139.php

> Unicode (UTF8)として文字を扱いたいため、
> my $tmpStr = Encode::decode("utf8", "あいうえお");
> とやってみましたが、この場合Encode::decodeのサブルーチンが定義されていないと 
> 
> エラーになります。
use Encodeができないからでは?
plperlu (=plperl unsafe) を使ってみてはいかがですか?
#plperlでuse Encodeしている例はGoogleすると見つかると思います。





pgsql-jp メーリングリストの案内