\copyコマンドでのCSV取り込みの文字化け
いつもお世話になっております。
前提として、環境は、VMWareの中に、CentOS5があり、PostgreSQL8.4で、
文字コードはEUC-JPをinitdbしています。
今回、WindowのExcelでCSVを、PostgreSQLのCOPYコマンドでインポートできるかを検証しているのですが、下記のような形で、copyコマンドを実行しますと、
結果、UTF-8ですと、文字化けしていませんが、EUC-JPですと、文字化けしてしまいます。
デフォルトのDBのエンコードのEUC-JPで、SELECTの結果が文字化けしてほしくないのですが、どこか、間違っているところありますでしょうか。
お手数をおかけしますが、なにとぞご教授よろしくお願い申し上げます。
[foo@localhost ~]$ psql test
psql (8.4.6)
Type "help" for help.
test=> \encoding SHIFT-JIS
test=> \copy shinamono from /tmp/Book1.csv with csv
test=> select * from shinamono;
hinmei | nedan
---------------------+-------
・スンゑソス・ス・ス | 100
・ス・ス・ス・ス・ス・ス | 150
・ス・ス・ス・ス・ス・ス | 2500
・ス`・ス・ス・スR・ス・ス・ス[・スg | 100
・ス・ス・ス・ス・ス・ス,・スネゑソス・スフセ・スb・スg | 5000
・スワつゑソス・ス・ス ・ス・ス・ス・ス・ス・ス | 10000
・ス`・ス・ス・スR・ス・ス・ス[・スg | 100
・ス・ス・ス・ス・ス・ス,・スネゑソス・スフセ・スb・スg | 5000
・スワつゑソス・ス・ス ・ス・ス・ス・ス・ス・ス | 10000
・ス`・ス・ス・スR・ス・ス・ス[・スg | 100
・ス・ス・ス・ス・ス・ス,・スネゑソス・スフセ・スb・スg | 5000
・スワつゑソス・ス・ス ・ス・ス・ス・ス・ス・ス | 10000
(12 rows)
test=> \encoding EUC-JP
test=> select * from shinamono;
hinmei | nedan
---------------------+-------
・ス゜、・ス・ス・ス | 100
・ス・ス・ス・ス・ス・ス | 150
・ス・ス・ス・ス・ス・ス | 2500
・ス・ス・ス逾ウ・ス・シ・ス・ス | 100
・ス・ス・ス・ス・ス・ス,・スハ、・ス・スΥ・ス・スa・ス | 5000
・ズ、ト、・ス・ス・ス ・ス・ス・ス・ス・ス・ス | 10000
・ス・ス・ス逾ウ・ス・シ・ス・ス | 100
・ス・ス・ス・ス・ス・ス,・スハ、・ス・スΥ・ス・スa・ス | 5000
・ズ、ト、・ス・ス・ス ・ス・ス・ス・ス・ス・ス | 10000
・ス・ス・ス逾ウ・ス・シ・ス・ス | 100
・ス・ス・ス・ス・ス・ス,・スハ、・ス・スΥ・ス・スa・ス | 5000
・ズ、ト、・ス・ス・ス ・ス・ス・ス・ス・ス・ス | 10000
(12 rows)
test=> \encoding UTF-8
test=> select * from shinamono;
hinmei | nedan
---------------------+-------
みかん | 100
りんご | 150
メロン | 2500
チョコレート | 100
メロン,なしのセット | 5000
まつたけ すだち | 10000
チョコレート | 100
メロン,なしのセット | 5000
まつたけ すだち | 10000
チョコレート | 100
メロン,なしのセット | 5000
まつたけ すだち | 10000
(12 rows)