I said:
> I'd prefer to just document that PQclientEncoding is untrustworthy if
> the client sets the encoding directly (rather than via PGCLIENTENCODING
> or PQsetClientEncoding), and similarly that psql's \encoding is not
> trustworthy if one goes behind its back.
On looking closer, both libpq and psql assume that their current
internal encoding settings accurately describe the strings they get
from the backend. So hacking up PQclientEncoding() wouldn't be enough
to fix all the problems anyway.
I think we need to document that doing "SET client_encoding" directly is
hazardous to your health with either of these interfaces, and perhaps
with others as well. Anyone know how JDBC and ODBC deal with encoding?
regards, tom lane