[pgsql-jp: 36542] Re: =で文字の検索ができない(LikeではOK)
原中
mitsukatsu-haranaka @ greensys.co.jp
2005年 12月 13日 (火) 18:06:36 JST
原中です。
> まず質問なのですが、別のマシンに作成したのはどちらですか?
> ・DBサーバー
> ・接続クライアント
>
> 前者であれば、DB自体が別物だと思うので、「不思議」ではないような気がしま
> す。
> 後者だとすると、クライアントの環境が同じなら解決が難しいかもしれません。
>
> 恐らく、前者だと思うので次の方法が可能なら確認してみませんか?
>
> COLUMNのみのUNIQUE INDEXを作成する。
> COLUMNの値が'補佐'のデーターをINSERTしてみる。
>
> INSERTが成功したら・・・理由はわかりますよね?
> INSERTが失敗するようなら難しい状況かもしれません
おっしゃるとおりです。確かにINSERTに成功してしまいました。
ロケールを確認するとJapaneseになっていました。
他のマシンではC(Common)に設定されていました。
WindowsXPにインストールするときに設定画面で
ロケールをJapanese、encodingをUNICODE(UTF-8)としたことが原因でした。
initdbで再度クラスタをロケールC、encodingをUNICODEで構築すると
正常に検索できるようになりました。
感謝感謝です。
pgsql-jp メーリングリストの案内