Re: BUG #3638: UTF8 Character encoding does NOT work - Mailing list pgsql-bugs

From Heikki Linnakangas
Subject Re: BUG #3638: UTF8 Character encoding does NOT work
Date
Msg-id 46FB62F1.8070906@enterprisedb.com
Whole thread Raw
In response to BUG #3638: UTF8 Character encoding does NOT work  ("Fil Matthews" <fil@internetmediapro.com>)
List pgsql-bugs
Fil Matthews wrote:
> Come on are you serious?? ..  Just how does one work with completly valid
> data that has an ascii 128 +  value ??

A string with a single byte that has high-bit set (characters 128-255)
is *not* a valid UTF-8 sequence. That's why you get the error. One could
argue that chr(146) should throw an error right away, since 146 doesn't
represent a valid ASCII character either.

In fact, this has been changed in the CVS; in the upcoming 8.3 version,
chr(146) in UTF-8 encoding will return a two byte character
corresponding the unicode code point 146, which seems to be a control
character, marked for "private use only".

> Currently this flaw make Postgres an un-useable database technology ..  Or
> can some-one please explain this and a possible work around ..  ??

That's quite an exaggeration, don't you think? As a work around, don't
put invalid data in your database. Don't use chr-function, it's really
only there for compatibility with other DBMSs that has it.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

pgsql-bugs by date:

Previous
From: Tatsuo Ishii
Date:
Subject: Re: BUG #3638: UTF8 Character encoding does NOT work
Next
From: Gregory Stark
Date:
Subject: Re: BUG #3638: UTF8 Character encoding does NOT work