Обсуждение: Win1250 database under linux

Поиск
Список
Период
Сортировка

Win1250 database under linux

От
Damir Bijuklic
Дата:
Hi.

I have ecountered strange behaviour with postgres 8
under linux so I am reporting this as a bug. I haven't
compiled postgres myself because it is on hosted
server but it is an options if it would solve this
problem.

The problem i'm having seems to be known but i don't
know if there is a workaround. Functions upper() and
lower() don't change value for Croatian national
characters under linux (others probably as well, but i
havent tested). Operator ILIKE doesn't work correctly
either.

I have tried to reporeduce bug under windows version
of postgres by transfering database via backup/restore
but the windows version is working correctly.

I had to write some pretty ugly query logic as a
temporary workaround for searching national
characters...

Damir

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

Re: Win1250 database under linux

От
Tom Lane
Дата:
Damir Bijuklic <damirbijuklic@yahoo.com> writes:
> The problem i'm having seems to be known but i don't
> know if there is a workaround. Functions upper() and
> lower() don't change value for Croatian national
> characters under linux (others probably as well, but i
> havent tested). Operator ILIKE doesn't work correctly
> either.

Sounds like you are using the wrong locale and/or encoding settings.
Since you have not said what you are using, it's hard to offer anything
more specific than that.

            regards, tom lane

Re: Win1250 database under linux

От
Tom Lane
Дата:
Damir Bijuklic <damirbijuklic@yahoo.com> writes:
> I'm using WIN1250 locale on both databases.

Does your Linux platform even have such a locale?  Mine doesn't.
("locale -a" will show you what is supported.)  I suspect your
machine is not recognizing the LANG setting and is falling back
to behave as though the locale is POSIX.

> Client is java, and no special SET commands are
> executed on connection... Don't know other specifich
> which would be useful.

AFAIK, Java does not do WIN1250, only Unicode.

You would probably be best off using Unicode (UTF8) encoding and some
suitable locale setting (again, see "locale -a") on the Unix platform.

            regards, tom lane

Re: Win1250 database under linux

От
Tom Lane
Дата:
Damir Bijuklic <damirbijuklic@yahoo.com> writes:
> My linux machine has following relevant locales:

> hr_HR
> hr_HR.iso88592
> hr_HR.utf8
> hrvatski

I'd recommend using hr_HR.utf8 plus UTF8 database encoding.
You'll need to re-initdb in order to install that as the
database locale :-(

            regards, tom lane