[pgsql-jp: 25553] Re: bytea and multi-byte enabled PostgreSQL?

Yasuo Ohgaki yohgaki @ yahoo.co.jp
2002年 4月 9日 (火) 00:39:11 JST


大垣です。

Tatsuo Ishii wrote:
> 石井です.
> 
SNIP

> 言うのを忘れていましたが,PostgreSQLのフロントエンドとバックエンドのエ
> ンコーディングが違っていると,やはり「文字コードが正しくない」エラーに
> なると思います.この問題は(2)によってしか対処できません.
> # PHPとはあまり関係ありませんが.

ありがとうございます。たぶん、PHPユーザーからも同じ質問があると思うので、
エンコーディングのエラーメッセージがでる場合はキャストが必要な事をPHPの
マニュアルにも記載しておきます。

> 
> 
>>FAQのような気がしますが、BYTEA型のデータをSELECTしたした場合
>>"\000\320"の\OCTAL形式文字列が返ってきますが、これは仕様で戻り
>>値はユーザーが変換すると言う事でよいのでしょうか?
> 
> 
> はい,そうです.

FAQに回答していただき、ありがとうございます。
必ず同じ事をPHPユーザーも質問すると思うのでこちらもマニュアルに
書いておきます。

> octalからバイナリへの変換をやってくれます.こちらの方も修正して,
> 
> PQescapeBytea --> bytea 型に insert --> select --> PQunescapeBytea
> 
> という方法で,バイナリデータをストアして再びバイナリで取り出せることを
> 確認しています.

PHPスクリプトで、このアンエスケープ処理をするのはあまり効率良く
ありませんが、PHP 4.2.0はリリース直前でこの時期に機能追加パッ
チはコミットできません。"アンエスケープ処理関数はPostgreSQL
7.2.2(?)+PHP 4.3.0を待ってください。"と言う事にします。

ありがとうございました。

--
Yasuo Ohgaki











__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!  http://bb.yahoo.co.jp/




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