Finding bad bye in "invalid byte sequence" error

Started by robertover 18 years ago4 messagesgeneral
Jump to latest
#1robert
robertlazarski@gmail.com

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

#2Doug McNaught
doug@mcnaught.org
In reply to: robert (#1)
Re: Finding bad bye in "invalid byte sequence" error

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

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: robert (#1)
Re: Finding bad bye in "invalid byte sequence" error

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

#4Adrian Klaver
adrian.klaver@aklaver.com
In reply to: robert (#1)
Re: Finding bad bye in "invalid byte sequence" error

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