Re: ERROR: character 0x90 of encoding "WIN1252" has no equivalent in "UTF8"

From: Alban Hertroys <dalroi(at)solfertje(dot)student(dot)utwente(dot)nl>
To: "Wang, Mary Y" <mary(dot)y(dot)wang(at)boeing(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: ERROR: character 0x90 of encoding "WIN1252" has no equivalent in "UTF8"
Date: 2010-06-05 16:51:34
Message-ID: 20A77C76-9D53-4F1B-BD83-CF2FEDA081AF@solfertje.student.utwente.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 5 Jun 2010, at 16:07, Wang, Mary Y wrote:

> Thanks Alban, but I'm still confused.
> I just read the PostgreSQL manual, and got the impression that UTF8 would take care of ALL character sets, so I put SET client_encoding = 'UTF8' in the dump file, and reload it again, then I got even more errors like:

Ah no, that won't work if your data isn't encoded according to UTF-8.

> What is the client encoding that I should set to so that it would take care all character sets? http://www.postgresql.org/docs/8.3/interactive/multibyte.html

We can't know that. It's your client application(s) that put the data into your database, it depends on their encoding(s). That's the encoding you need.

If no encoding was specified you probably ended up with a mixed bag of encodings. AFAIK the only way out of that is to check everything by hand - a computer won't know what the data means, so isn't likely to be able to figure out what encoding was used.

If you don't care, set your database to use SQL_ASCII and it will just store the literal bytes as they are, without trying to interpret their encodings. If you already have a mixed bag of encodings, that's the easiest solution to get back to a working system - be aware though that you probably were already having issues with displaying some data correctly.

> -----Original Message-----
> From: Alban Hertroys [mailto:dalroi(at)solfertje(dot)student(dot)utwente(dot)nl]
> Sent: Saturday, June 05, 2010 1:35 AM
> To: Wang, Mary Y
> Cc: pgsql-general(at)postgresql(dot)org
> Subject: Re: [GENERAL] ERROR: character 0x90 of encoding "WIN1252" has no equivalent in "UTF8"
>
> On 5 Jun 2010, at 4:44, Wang, Mary Y wrote:
>
>> Hi,
>>
>> I'm getting this error from postgres " ERROR: character 0x90 of encoding "WIN1252" has no equivalent in "UTF8" " and from a dump file when I tried to use psql command to restore the dump.
>>
>> I have SET client_encoding = 'win1252' in the dump file.
>>
>> Any ideas?
>
>
> Apparently Win1252 is the not the right encoding to use for your data, as 0x90 is undefined in that encoding. See http://dbaspot.com/forums/ingres-database/414795-re-info-ingres-fw-how-insert-control-charactersintovarcharcolumn.html for someone with the same problem (on Ingres) and links to two different code pages listing the characters therein.
>
> Alban Hertroys
>
> --
> If you can't see the forest for the trees, cut the trees and you'll see there is no forest.
>
>
>
>
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>
>
>
>

Alban Hertroys

--
Screwing up is an excellent way to attach something to the ceiling.

!DSPAM:737,4c0a80a710151031451958!

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Steve Atkins 2010-06-05 17:04:06 Re: Null comparisons and the transform_null_equals run-time parameter
Previous Message Ken Winter 2010-06-05 16:46:57 Re: Null comparisons and the transform_null_equals run-time parameter