On 11/28/2011 08:26 PM, Thomas Goerner wrote:
>
> Hello Craig,
>
> thanks for your answer.
>
> > Restore using PgAdmin III or using a unicode console.
>
> > This is a limitation of using a Win1252 client encoding when restoring
>
> > data that isn't restricted to Win1252 and cannot be fixed directly.
>
> That's new to me. AFAIK pg_restore looks into the dump file and sets
> the client encoding accordingly (In fact the dump contains the
> statement SET client_encoding = 'UTF8';). Is this overridden by
> PGCLIENTENCODING? And if so, should it be?
>
Nope, pg_restore should be using UTF8 as the client encoding in that
case. If there are any errors or notices it won't be able to emit them
correctly on the terminal though, as win1252 can't represent everything
in UTF8 (and IIRC pg_restore doesn't recode from client_encoding to
terminal encoding anyway).
If the restore its self is failing then I agree that something's not
working properly, because you should be able to use a client_encoding
different to your terminal encoding. I wonder if recent changes intended
to get psql to pick up the terminal encoding automatically have had the
unintended side-effect of overriding pg_restore's attempt to set the
client_encoding?
I'm rather surprised you only see this on x64. You're using the same
Windows and Pg version for both x64 and x64 but only the x64 test fails?
--
Craig Ringer