Re: unexpected query behavior with UTF text

Поиск
Список
Период
Сортировка
От Indra Heckenbach
Тема Re: unexpected query behavior with UTF text
Дата
Msg-id 3F9743AD.5090209@macnica.com
обсуждение исходный текст
Ответ на Re: unexpected query behavior with UTF text  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Hi Tom,

I solved the problem by doing

initdb --locale=ja_JP.utf8

Unfortunately,

initdb --locale=en_US.utf8

does not work. Do you have any idea why?  I would think we should be
able to test for equality in any locale.

thanks,
Indra



Tom Lane wrote:

  Indra Heckenbach <indra@macnica.com> writes:


    I have recently come across an unusual behavior with Postgres 7.3.4 on a
Linux RH 9 system.  My database has encoding set to "UNICODE", and the
table includes Japanese text.  I'm trying to issue a query like this:





    SELECT * FROM sales WHERE name='ja-text';





    This query ignores all japanese characters in the comparison text.  It
matches properly on ascii chars, but skips right over ja chars.



Text = depends on strcoll(), which is locale-sensitive.  It sure appears
that your locale is designed to ignore japanese characters :-(



    I found a related issue on the mailing list, where locale setting was
causing something similar.  However, my locale is set to "en_US.UTF-8",
which is the solution proposed to the other problem.



We have heard before that RH9's default locale setting is seriously
broken.  This seems to be additional evidence for that opinion.  I'd
recommend re-initdb'ing in locale C.

Also, you say "your locale", but how certain are you that that is the
database's locale, and not just the one in your own user environment?
It'd be a good idea to use pg_controldata to check the database settings.

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: "Marc G. Fournier"
Дата:
Сообщение: PostgreSQL v7.4 Beta5 Available for Testing
Следующее
От: Oliver Elphick
Дата:
Сообщение: Re: PostgreSQL v7.4 Beta5 Available for Testing