Re: 'order by' does "wrong" with unicode-chars (german umlauts)
От | Richard Huxton |
---|---|
Тема | Re: 'order by' does "wrong" with unicode-chars (german umlauts) |
Дата | |
Msg-id | 200309191418.39224.dev@archonet.com обсуждение исходный текст |
Ответ на | 'order by' does "wrong" with unicode-chars (german umlauts) (peter pilsl <pilsl@goldfisch.at>) |
Ответы |
Re: 'order by' does "wrong" with unicode-chars (german umlauts)
|
Список | pgsql-general |
On Friday 19 September 2003 13:11, peter pilsl wrote: > postgres 7.3.2 > > I store unicode-data in postgresql. The data is retrieved via > webinterfaces, processed with perl and then stored in postgresql (and > viceversa). > > All is going nice with one problem. If performing a "select * order by > field"-query the result is not what I expected. > > German umlauts (ie: Ö) are stored as doublechars ("Ö" is "Ã") and only the > first char seems to be taken into account when sorting. > > So it happens that the order is like: > > Österreich > America > Pakistan > > instead of > > Amerika > Österreich > Pakistan I'm no expert on locales, but I think you're confusing two things. Your character-set determines what symbols you can store. Your locale determines sorting rules. Check the end of the postgresql.conf file for details of what your current settings are. > How to deal with this Problem ? Of course converting to latin before > storing would be a solution but we plan to offer support for many non-latin > languages later and the meaning of unicode is to get rid of all this > converting-stuff after all. What sorting-order do you want? You probably have options like: C, en_GB, de, it etc. If you are storing non-latin1 symbols as well as latin1, I can't think of what a reasonable sort order would be. Unfortunately, PG only supports one locale at a time, and gets set during initdb. See the chapter on Localisation in the manuals for details. -- Richard Huxton Archonet Ltd
В списке pgsql-general по дате отправления: