Thanks a lot! In your opinion, should I re-compile the PostgreSQL after set the $LANG to ja_JP.utf8? or I need to set other variables' value.. I changed the $LANG value, but the result still not correct, and not found anything about it in PostgrSQL's document.
Thx Jiang Sheng ----- Original Message ----- 送信者 : "Peter Eisentraut" <[EMAIL PROTECTED]> 宛先 : "Jiang Sheng" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> 送信日時 : 2002年11月18日 6:21 件名 : Re: [BUGS] Different result when using '=' and 'like' in unicode mode > Jiang Sheng writes: > > > the sql is > > select * from tbl_test where name = 'ç³ç°'; > > > > but the result contains other data, such as ç³çº, æ³çº, >æ³ç° > > > > and I changed the sql to > > select * from tbl_test where name like 'ç³ç°'; > > select * from tbl_test where name ilike 'ç³ç°'; > > > > the results both correct. > > The LIKE operator uses a character-by-character comparison (which could > quite possibly behave oddly if your strings contain combining characters, > but that is a different issue). The = operator uses the host operating > system's locale facilities to do a locale-aware comparison. So in general > LIKE and = are not interchangeable. > > If the result you get for = is wrong even under some locale, then you > probably don't have the right locale set on your server. Recent glibc > systems require you to set your locale to xx_YY.utf8 (rather than just > xx_YY) if you want to use Unicode. > > -- > Peter Eisentraut [EMAIL PROTECTED] > ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])