[pgsql-jp: 38285] Re: 主キーの重複登録とそれに伴うlikeと=の検索結果の相違について
ITAGAKI Takahiro
itagaki.takahiro @ oss.ntt.co.jp
2007年 4月 4日 (水) 15:26:21 JST
岩藤 謙一郎 <iwafuji.kenichiro @ toshiba-sol.co.jp> wrote:
> select * from pg_settings
> lc_collate Japanese_Japan.932
> lc_ctype Japanese_Japan.932
> (不要な部分は略)
>
> エンコーディングについては以下の通りとなっています。
>
> List of databases
> Name | Owner | Encoding
> -----------+---------+----------
> ******** | ******* | EUC_JP
やはり、ロケールとエンコーディングのミスマッチが原因ですね。
ロケールを正しく設定しなおすために、のデータベースクラスタ再構築が必要です。
全データをダンプした上で、ロケールが必要なければ、
initdb --encoding=EUC_JP --no-locale
必要ならば "Japanese_Japan.20932" で初期化し、
initdb --encoding=EUC_JP --locale=Japanese_Japan.20932
データをリストアしてください。
ロケールが必要ないならば、--no-locale がお勧めです。
ロケールを有効にする場合、上記の設定ならば、ある程度はうまくいきます。
ただ、PostgreSQLのEUC_JP と WIN20932 のマッピングが異なる文字では
問題が残るかもしれません。
# 具体的にどのようにマッピングが異なるかまでは調べてません。
pgsql-jp メーリングリストの案内