Re: encoding problem at restore - Mailing list pgsql-general

From Michael Fuhr
Subject Re: encoding problem at restore
Date
Msg-id 20070218162219.GA39391@winnie.fuhr.org
Whole thread Raw
In response to encoding problem at restore  (Bob Hunter <catdogbeloved@yahoo.com>)
List pgsql-general
On Sat, Feb 17, 2007 at 03:12:44AM -0800, Bob Hunter wrote:
> ERROR:  invalid byte sequence for encoding "UTF8":
> 0xe02031
> HINT:  This error can also happen if the byte sequence
> does not match the encoding expected by the server,
> which is controlled by "client_encoding".
> CONTEXT:  COPY <tablename>, line 1270
>
> There are two problems. The first is, why UTF8 at all,
> given that the dump specifies SQL_ASCII?

Probably because the database encoding is UTF-8.  You can check with
"SHOW server_encoding", or with \l in psql, or by running "psql -l"
from a shell prompt, etc.  With a client_encoding of SQL_ASCII no
conversion will be made, so if the data isn't already UTF-8 then you
get an error such as the above.

> The second is, that at line 1270 there are (unsurprisingly) only
> ASCII  characters, so why is psql complaining at all?

Are you sure you're looking at the right line?  The line number in
the error refers to the line of the COPY data, not to the line of
the input file or stream.  For example, if the COPY begins on line
67 of the dump file then line 1270 of the data would be line 1337
of the file.  If you look at the correct line you might find a
string like "à 1" (latin small letter a with grave, space, digit
one).

Try editing the client_encoding line to specify whatever encoding
the data is really in.  For Western European languages likely guesses
are LATIN1, LATIN9, or WIN1252 (especially the latter if the data
originated on Windows).  Alternatively, you could use a converter
like iconv or uconv to convert the file to UTF-8 before feeding
it to psql.

--
Michael Fuhr

pgsql-general by date:

Previous
From: John DeSoi
Date:
Subject: Re: open source - content management system - that uses PostGreSQL
Next
From: "Joshua D. Drake"
Date:
Subject: Re: open source - content management system - that uses PostGreSQL