Re: postgreSQL UPPER Method is converting the character "µ" into "M" - Mailing list pgsql-general

From Sai Teja
Subject Re: postgreSQL UPPER Method is converting the character "µ" into "M"
Date
Msg-id CADBXDMX2c0Hog18D4W=Ufgr1doupScODCW19TTP-fGdT3VcBHw@mail.gmail.com
Whole thread Raw
In response to Re: postgreSQL UPPER Method is converting the character "µ" into "M"  (Francisco Olarte <folarte@peoplecall.com>)
Responses Re: postgreSQL UPPER Method is converting the character "µ" into "M"
List pgsql-general
Thank you all for your response.
Got one more query,

When I'm trying the below command 
Select UPPER('Mass')
I'm getting MASS as output .
But when I created the column with generated always constraint
For example
Alter table xyz add column xyz varchar(800) generated always as (UPPER(content)) stored

Here content is original string coming from the table
The output is coming as 'µass" when I am selecting the data from the table

Even When I try to use collat C or ucs_basics I'm getting the same when I select the data from the table
But when I select the data explicitly through UPPER netword like select UPPER('Mass') then I'm getting expected output such as MASS

Would request you to please suggest the ideas to resolve this issue.

Thanks,
Sai Teja


On Wed, 6 Sep, 2023, 8:59 pm Francisco Olarte, <folarte@peoplecall.com> wrote:
On Wed, 6 Sept 2023 at 16:40, Sai Teja <saitejasaichintalapudi@gmail.com> wrote:
> Actually we are migrating the data from DB2 to postgreSQL. So in DB2 the upper method is converting µ as µ only but not as M.
> So, while validating the data we have encountered this problem.
>
> We want to have the data in both DB's should be similar (db2 and postgreSQL)
Data seems to be the same, function behaviour is what seems different.

> In my local it is windows OS and locale is English_united_states.1252 and in local it is converting as expected ( testµ into TESTµ)

Maybe because unicode has GREEK CAPITAL LETTER MU ( 924, which looks
like capital M ), GREEK SMALL LETTER MU ( 956 ) and MICRO SIGN ( 181,
which looks like small mu ) while windows-1252 only has 0xB6 as micro.
OTOH Windows-1253 ( greek ansi ) has all three.

If your small mu are really micro-sign ( which is suspected if youused
1252 ) maybe changing them to that helps ( but I do not have the
resources to test that on hand ).

Francisco Olarte.

pgsql-general by date:

Previous
From: Francisco Olarte
Date:
Subject: Re: postgreSQL UPPER Method is converting the character "µ" into "M"
Next
From: Erik Wienhold
Date:
Subject: Re: postgreSQL UPPER Method is converting the character "µ" into "M"