[pgsql-jp: 40633] encodeで日本語が表示できない

嶋崎 崇子 taka-shimazaki @ secom.co.jp
2010年 12月 21日 (火) 19:43:16 JST


PostgreSQL 8.1.8 から 8.4.5 へのバージョンアップを行っています。

旧DBで
  select encode('あいうえお', 'base64');
とした文字列を
  select encode(decode('pKKkpKSmpKikqg==', 'base64'), 'escape');
で「あいうえお」と戻してもらえるのですが、
新バージョン(8.4.5)の環境ではマルチバイトの文字ではなく
   \244\242\244\244\244\246\244\250\244\252
という文字コード(?)で返ってきてしまいます。

どのようにすれば、「あいうえお」という文字列が返ってくるのか
ご存知の方、ご教示頂けますでしょうか。

なお、client_encoding は旧DBでは EUC_JP、新DBでは SJIS と
初期パラメータで設定されていました。
なので、新DBにて SETコマンドでパラメータを変更して試して
みましたが同じ結果でした。

宜しくお願い致します。 


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