Finding bad bye in "invalid byte sequence" error
Hi all,
I'm trying to hack my inserts script from mssql to work with postgres
8.1.9 - I can upgrade if need be. I'm getting this error:
psql -h localhost atdev < fuk2.sql
ERROR: invalid byte sequence for encoding "UTF8": 0xe1204f
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".
I tried:
/var/lib/pgsql> recode ascii..utf8 fuk2.sql
recode: fuk2.sql failed: Invalid input in step `ANSI_X3.4-1968..UTF-8'
And also dos2unix , but nothing is working. 0xe1204f looks like a hex
address, and I'm trying hexdump to find what its complaining about,
but that's not helping either. Any ideas?
Robert
On 12/13/07, robert <robertlazarski@gmail.com> wrote:
Hi all,
I'm trying to hack my inserts script from mssql to work with postgres
8.1.9 - I can upgrade if need be. I'm getting this error:psql -h localhost atdev < fuk2.sql
ERROR: invalid byte sequence for encoding "UTF8": 0xe1204f
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".
The cleanest way to fix this is to figure out what encoding the data
in your SQL script is (since I am assuming parts of it were dumped
directly out of MSSQL) and set client_encoding to that. Your data is
almost certainly not straight 7-bit ASCII.
-Doug
robert <robertlazarski@gmail.com> writes:
I'm getting this error:
psql -h localhost atdev < fuk2.sql
ERROR: invalid byte sequence for encoding "UTF8": 0xe1204f
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".
Well, that isn't UTF8, and it isn't plain ASCII either. I'm betting
it's a single-byte encoding, probably one of the ISO-8859 series.
Have you looked at the data to see what *you* think the character is?
(Feed the script to psql with -f, not <, to get a line number for
the error.)
regards, tom lane
On Thursday 13 December 2007 10:38 am, robert wrote:
Hi all,
I'm trying to hack my inserts script from mssql to work with postgres
8.1.9 - I can upgrade if need be. I'm getting this error:psql -h localhost atdev < fuk2.sql
ERROR: invalid byte sequence for encoding "UTF8": 0xe1204f
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".I tried:
/var/lib/pgsql> recode ascii..utf8 fuk2.sql
recode: fuk2.sql failed: Invalid input in step `ANSI_X3.4-1968..UTF-8'And also dos2unix , but nothing is working. 0xe1204f looks like a hex
address, and I'm trying hexdump to find what its complaining about,
but that's not helping either. Any ideas?Robert
I had a similiar problem and found I had to set the client encoding as
follows:
SET client_encoding = 'windows-1252';
at the top of my import file.
--
Adrian Klaver
aklaver@comcast.net