Thread: BUG #2116: Searching text fields does not work in EUC_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 = 'æ¥çµï¼ï¼ï¼å¹³å'; <-- 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
"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
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
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