[pgsql-jp: 34147] Re: 全角「1」を含む like 検索で意図しないレコードが返される

Hiroshi Nomiyama nomizo @ remus.dti.ne.jp
2004年 10月 23日 (土) 15:44:50 JST


野見山です。

岡野さん、レス有難うございます。

Katsuhiko Okano さんは書きました:
>岡野と申します。
>
> ---snip---
>
>initdbコマンドやcreatedbコマンドに「-E EUC_JP」と
>エンコーディング名をEUC_JPに指定していませんか?
>psql -l で該当するデータベースのEncodingを確認してみてはいかがでしょう。

テーブルはEUC_JPでした。

>以下はEUCだった場合の話です。
>
>http://www.rtpro.yamaha.co.jp/RT/docs/misc/kanji-euc.html
>によると、EUCではそれぞれ
>「1」=A3B1
>「藤」=C6A3
>「栄」=B1C9

御丁寧にお調べいただき有難うございます。

>となるようです。したがって、
>「藤栄」=C6A3B1C9
>「*1*」=**A3B1**  (*は見やすくするための物なので意味はないです)
>となるので一致してしまうのではないでしょうか?

なるほど、その可能性が高いですね。

>
>対処方法の一つは、データベースのエンコーディングをUNICODEにしてしまう
>方法だと思います。
>(他の問題が表面化してしまうかもしれませんが・・・)

再度initdbしようと思ったところ、ハード障害でマシンが飛んでしまいました・・・
ということで、OSから再インストールしています。
再セットアップ時にはいろいろ試してみたいと思います。
結果は別途報告させていただきますね。

>-- 
>----------------------------------------
>Katsuhiko Okano
>k_okano (at) po.ntts.co.jp
>NTT Software Corp. (division "NBRO-PT6")
>

----
Hiroshi Nomiyama nomizo @ remus.dti.ne.jp



pgsql-jp メーリングリストの案内