Обсуждение: 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