Re: Translate function and strange results ... - Mailing list pgsql-general

From Arjen Nienhuis
Subject Re: Translate function and strange results ...
Date
Msg-id 11ddbd200911010905m7640e8a2l9ccf295ab01fb049@mail.gmail.com
Whole thread Raw
In response to Translate function and strange results ...  (Hervé Piedvache <bill.footcow@gmail.com>)
Responses Re: Translate function and strange results ...  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general

On Sun, Nov 1, 2009 at 4:56 PM, Hervé Piedvache <bill.footcow@gmail.com> wrote:

base=# select translate('Hervé', 'é', 'e');
 translate
-----------
 Herve
(1 row)

base=# select translate('Hervé', 'âàäéèêëïöôùüû', 'aaaeeeeioouuu');
 translate
-----------
 Hervai
(1 row)
 
You are actually doing something like:

select translate(E'Herv\xc3\xa9', E'\xc3\xa2\xc3\xa0\xc3\xa4\xc3\xa9\xc3\xa8\xc3\xaa\xc3\xab\xc3\xaf\xc3\xb6\xc3\xb4\xc3\xb9\xc3\xbc\xc3\xbb', E'aaaeeeeioouuu');

Which apparently translates \xc3 -> a and \xa9 -> i.

I don't know why it does that though. Maybe it's the server_encoding. What does SHOW server_encoding; tell you?

pgsql-general by date:

Previous
From: David Fetter
Date:
Subject: Re: Windowing functions - future plans
Next
From: John Burski
Date:
Subject: createlang error(s)