Обсуждение: Win1250 database under linux
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
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
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
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