Re: Questions about pg_enable_utf8

"David E. Wheeler" <[email protected]>
Newsgroups gmane.comp.db.postgresql.dbdpg
Message-ID <[email protected]>
On Sep 8, 2008, at 20:42, Bill Moseley wrote:

> Ok, how formal would you need?
>
> I guess my proposal would be to perhaps have a flag that when set
> causes DBD::Pg to read the client_encoding after making a connection.
> Then use that encoding with Encode::encode() and Encode::decode() when
> moving data between Perl and Pg.

Frankly, I think that this should be a part of the DBI. But note that  
some databases have different encodings on different columns.

> The implementation details are a bit more sketchy. ;)
>
> For one thing, I'm not sure if the client_encoding returned from Pg
> would match with the encoding names used by Perl.

Should be do-able.

> Then, would also need to know what data should and should not be
> decoded and encoded.  I guess everything except binary (and numeric?)
> column data.

I think only text types and text-like types (Greg, how does DBD::Pg  
determine this, currently? I'd want CITEXT data to be converted to  
UTF-8, too; is there some way to tell it what types should be utf8?)

> But, the current system seems to work fine -- someone can simply use
> utf8 client encoding and set pg_enable_utf8 (regardless of their
> database's encoding).  And it's unlikely that Perl's internal
> representation of character data will change from utf8 anytime soon
> so just forcing the utf8 flag is fine.

Yep.

Best,

David
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.