compare lower case and upper case when encoding is utf-8

Started by Quan Zongliangalmost 14 years ago3 messageshackers
Jump to latest
#1Quan Zongliang
quanzongliang@gmail.com

Hi hackers,

I found that lower case is less than upper case when the db is created
with utf8.
I tried below
locale en_US.utf8 'A'<'a' false
locale ja_JP.utf8 'A'<'a' true
locale zh_CN.utf8 'A'<'a' false
Under Windows
locale Chinese_China 'A'<'a' false

I am not sure it is normal or not.
But in Chinese, the lower case should be greater than upper, same as
locale C.

I made some code try to fix it.
It seems to work fine.

Quan Zongliang

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Quan Zongliang (#1)
Re: compare lower case and upper case when encoding is utf-8

On lör, 2012-06-16 at 16:21 +0800, Quan Zongliang wrote:

I found that lower case is less than upper case when the db is
created
with utf8.
I tried below
locale en_US.utf8 'A'<'a' false
locale ja_JP.utf8 'A'<'a' true
locale zh_CN.utf8 'A'<'a' false
Under Windows
locale Chinese_China 'A'<'a' false

I am not sure it is normal or not.
But in Chinese, the lower case should be greater than upper, same as
locale C.

The operating system locale determines that, so you need to look there
if you don't agree with the result.

http://wiki.postgresql.org/wiki/FAQ#Why_do_my_strings_sort_incorrectly.3F

#3Quan Zongliang
quanzongliang@gmail.com
In reply to: Peter Eisentraut (#2)
Re: compare lower case and upper case when encoding is utf-8

On 2012/6/18 7:13, Peter Eisentraut wrote:

On lör, 2012-06-16 at 16:21 +0800, Quan Zongliang wrote:

I found that lower case is less than upper case when the db is
created
with utf8.
I tried below
locale en_US.utf8 'A'<'a' false
locale ja_JP.utf8 'A'<'a' true
locale zh_CN.utf8 'A'<'a' false
Under Windows
locale Chinese_China 'A'<'a' false

I am not sure it is normal or not.
But in Chinese, the lower case should be greater than upper, same as
locale C.

The operating system locale determines that, so you need to look there
if you don't agree with the result.

http://wiki.postgresql.org/wiki/FAQ#Why_do_my_strings_sort_incorrectly.3F

I see, thank you.

Quan Zongliang