初歩的な事ですが調べてもわからなかったので教えて下さい。
PostgreSQL 8.0.1
Windows2000
文字コード UNICODE
CREATE TABLE test(name1 VARCHAR(30));
でTABLEを作成し
INSERT INTO test (name1) VALUES ('名古屋');を5回
INSERT INTO test (name1) VALUES ('東京');を5回
でデータを入力して
select * from test;
1 名古屋
2 名古屋
3 名古屋
4 名古屋
5 名古屋
6 東京
7 東京
8 東京
9 東京
10 東京
当然ながら上のように表示されますが、
SELECT DISTINCT name1 FROM test;
1 東京
2 名古屋
3 名古屋
4 名古屋
5 名古屋
6 名古屋
と表示されます。
また
SELECT name1 FROM test WHERE name1='東京';
1 東京
2 東京
3 東京
4 東京
5 東京
と検索されますが、
SELECT name1 FROM test WHERE name1='名古屋';
では検索されません。
SELECT name1 FROM test WHERE name1 LIKE '名古屋';
では検索されます。
対処方法はあるのでしょうか・・・
アドバイスありましたらお願いします。
>>465 --no-localeになってないとか。
show all;
で lc_* がCになってなかったらぁゃιぃ。
467 :
465:2005/04/08(金) 21:42:32 ID:???
SHOW ALL;
LC_*は
"lc_collate";"Japanese_Japan.932"
"lc_ctype";"Japanese_Japan.932"
"lc_messages";"Japanese_Japan"
"lc_monetary";"Japanese_Japan"
"lc_numeric";"Japanese_Japan"
"lc_time";"Japanese_Japan"
になっています。
--no-locale
ってどこで確認すればいいですか?
>>467 CP932の情報でUnicodeを扱っている感じなんだなw
--no-localeはデータベースクラスタ作成時(initdb)のオプションです。
ってことで、データベースクラスタから作り直しになります。
Windows版は8.0.0bate3を入れてんだけど、どこでどうやったか忘れてしまった。
しかし、lc_*はCになってるんで、インストール時か作成時にそのようなオプションが
あったんだろうな。
469 :
465:2005/04/08(金) 22:02:26 ID:???
ありがとうございます。
インストールからやりなおしてみます。
470 :
465:2005/04/08(金) 22:32:15 ID:???
>>468 インストール中に選択するところがありました。
前回はCではなくわざわざJAPANESEを選んでました。
ありがとうございました。