[pgsql-jp: 29100] Re: 都道府県データの検索

KITAO Kaoru kitao @ netcube.jp
2003年 2月 18日 (火) 13:58:48 JST


お世話になります。北尾です。頭が混乱しています。
変なレスになってしまっていたらごめんなさい。

>--enable-multibyteのみではSQL-ASCIIが選択されてしまうのでは無いでしょうか?
>上記の場合、initdbもしくはcreatedbの時にencoding=EUC_JPを指定しなければいけなかったような

確かに仰せのとおり(目からうろこ)。さっそくinitdb時にEUC_JPを指定して再度
データベースの作成、データの復元を試みました。で、いろいろコマンドを投げ
かけてみました。

(1) 先ほどと同じようにselect文を投げても結果は同様29件・・・(なんで〜涙)

(2)「漢字の1バイト目で一致して取ってきちゃっているのかなー」
以下のようにSQLを変更して実行してみたら
psql -d db_monitor -c "select * from tbl_pref where pref_name LIKE '東%';"
あら不思議「東京都」だけが検索されました(当然といえば当然ですが)

(3)じゃぁこれでも大丈夫かな
以下のようにSQLを変更したら
psql -d db_monitor -c "select * from tbl_pref where pref_name LIKE '東京都';"
「東京都」が検索されました。

現状でわかったこと・やってみたこと
■postgresqlのパッケージを、specファイルから自分で作成するのではなく、ネット
 からダウンロードした最新のものにしました(7.2.3-5.80)。
|--enable-locale --with-CXX --prefix=/usr --disable-rpath --with-perl --enable-multibyte --with-
|tcl --with-odbc --enable-syslog --with-python --with-openssl --with-pam --with-krb5=/usr/kerber
|os --enable-nls --sysconfdir=/etc/pgsql --mandir=/usr/share/man --docdir=/usr/share/doc --inclu
|dedir=/usr/include --datadir=/usr/share/pgsql
■initdb --encoding=EUC_JPを実行
■データベースを作成して以下を確認
        List of databases
    Name    |  Owner   | Encoding
------------+----------+----------
 db_monitor | postgres | EUC_JP
 template0  | postgres | EUC_JP
 template1  | postgres | EUC_JP
(3 rows)
■


-------------------------------------------
   □   KITAO Kaoru (北尾 馨)
  □  CubeWorks Inc, Ibaraki Pref.




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