Re: Bug in UTF8-Validation Code?

From: "Zeugswetter Andreas ADI SD" <ZeugswetterA(at)spardat(dot)at>
To: "Albe Laurenz" <all(at)adv(dot)magwien(dot)gv(dot)at>, <andrew(at)supernews(dot)com>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Bug in UTF8-Validation Code?
Date: 2007-04-04 10:02:07
Message-ID: E1539E0ED7043848906A8FF995BDA57901E7B6D4@m0143.s-mxs.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> > When the database uses a single byte encoding, the chr function
takes
> > the binary byte representation as an integer number between 0 and
255
> > (e.g. ascii code).
> > When the database encoding is one of the unicode encodings it takes
a
> > unicode code point.
> > This is also what Oracle does.
>
> Sorry, but this is *NOT* what Oracle does.
> At least if we can agree that the code point for the Euro
> sign is 0x20AC.

yes

>
> SQL> SELECT ASCII('EUR') AS DEC,
> 2 TO_CHAR(ASCII('EUR'), 'XXXXXX') AS HEX
> 3 FROM DUAL;
>
> DEC HEX
> ---------- ----------------------------
> 14844588 E282AC
>
> The encoding in this example is AL32UTF8, which corresponds
> to our UTF8.

You are right, I am sorry. My test was broken.

To get the euro symbol in Oracle with a AL32UTF8 encoding you use
chr(14844588)

Andreas

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2007-04-04 11:14:45 Re: CheckpointStartLock starvation
Previous Message Simon Riggs 2007-04-04 09:40:52 Re: Synchronized Scan benchmark results