From: | Anders Hermansen <anders(at)yoyo(dot)no> |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Cc: | Guillaume Cottenceau <gc(at)mnc(dot)ch> |
Subject: | Re: ERROR: could not convert UTF-8 character 0x00ef to ISO8859-1 possiblesolution |
Date: | 2005-04-27 11:54:34 |
Message-ID: | 20050427115434.GB30285@online.no |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
* Guillaume Cottenceau (gc(at)mnc(dot)ch) wrote:
> Anders Hermansen <anders 'at' yoyo.no> writes:
> > * Guillaume Cottenceau (gc(at)mnc(dot)ch) wrote:
> > > Isn't there a problem with your UTF-8 data containing 0x00EF?
> >
> > E0 to EF hex (224 to 239): first byte of a three-byte sequence.
>
> Well 00 is first byte here, isn't it?
UTF-8 is a byte sequence, so it's not about the first byte in the whole
sequence. But about the first byte in a tree byte sequece.
There should be no nul (0) bytes when encoding UTF-8. I believe this is in the
specification to allow it to be compatible with C nul-terminated strings.
I believe that the byte sequence 0x00EF i illegal UTF-8 because:
1) It contains nul (0x00) byte
2) 0xEF is not followed by two more bytes
On the other hand U+00EF is a valid unicode code point. Which points to:
LATIN SMALL LETTER I WITH DIAERESIS
It is encoded as 0xC3AF in UTF-8
As 0x00EF in UTF-16 (and UCS-2 ?)
As 0xEF in ISO-8859-1
Anders Hermansen
From | Date | Subject | |
---|---|---|---|
Next Message | Markus Schaber | 2005-04-27 11:55:17 | Re: ERROR: could not convert UTF-8 character 0x00ef to ISO8859-1 |
Previous Message | Dave Cramer | 2005-04-27 11:51:04 | Re: _pg_keyposition is gone in HEAD |