BUG #2116: Searching text fields does not work in EUC_JP

Started by Jon Keatingover 20 years ago4 messagesbugs
Jump to latest
#1Jon Keating
jon_keating@gcnet.co.jp

The following bug has been logged online:

Bug reference: 2116
Logged by: Jon Keating
Email address: jon_keating@gcnet.co.jp
PostgreSQL version: 8.1.1
Operating system: Win 2003
Description: Searching text fields does not work in EUC_JP
Details:

Hello, I found a problem with 8.1.0 so I upgraded to 8.1.1 but the issue
still persists.

I have a database with the default encoding set to EUC_JP and the client
(using pgAdmin III) is set to EUC_JP as well. THe issue is the following
query:

SELECT * FROM stock WHERE name = '日経500平均'; <-- Searching by
japanese text

This query returns nothing, but if I change the name = '... to name LIKE '..
it returns the data that I expect.

On my local machine (Win XP Pro SP2), I have an older version of PostgreSQL,
8.0.3 where the search by = works as expected. I am a little leary of
upgrading to 8.1.1 on my local machine since I need it on a daily basis to
work with these kinda queries.

Thanks,
Jon

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Jon Keating (#1)
Re: BUG #2116: Searching text fields does not work in EUC_JP

"Jon Keating" <jon_keating@gcnet.co.jp> writes:

I have a database with the default encoding set to EUC_JP and the client
(using pgAdmin III) is set to EUC_JP as well.

Is the database's locale set to something that works with EUC_JP? You
can't just whack the encoding around without paying attention to having
a compatible locale setting ... and unfortunately, PG doesn't have
enough knowledge about locales to warn you when you choose a combination
that doesn't work.

regards, tom lane

#3Jon Keating
jon_keating@gcnet.co.jp
In reply to: Tom Lane (#2)
Re: BUG #2116: Searching text fields does not work in EUC_JP

Tom Lane wrote:

Is the database's locale set to something that works with EUC_JP? You
can't just whack the encoding around without paying attention to having
a compatible locale setting ... and unfortunately, PG doesn't have
enough knowledge about locales to warn you when you choose a combination
that doesn't work.

Well, it was set to Japan_Japanese (or something similiar to that). I am
running it on a Japanese system. So, I created a new database cluster
with initdb (after struggling with runas.exe under Windows) withe a
locale of "C". I then restored my DB and it worked fine.

I find it strange that it won't search Japanese strings with a locale of
Japanese... which it defaulted to doing during the Win32 Installer.
Anyways, it would be nice to have it as an option or something. If it is
there and I didn't see it.. sorry in advance!

Jon

#4Andreas Pflug
pgadmin@pse-consulting.de
In reply to: Jon Keating (#1)
Re: BUG #2116: Searching text fields does not work in EUC_JP

Jon Keating wrote:

I have a database with the default encoding set to EUC_JP and the client
(using pgAdmin III) is set to EUC_JP as well.

pgAdmin uses Unicode (unless the DB is SQL_ASCII or MULE_INTERNAL), you
won't get happy if you change it using a SET command.

Regards,
Andreas