[pgsql-jp: 37798] Re: データ移行時のファイルの文字コードについて

Hiroshi Saito z-saito @ guitar.ocn.ne.jp
2006年 12月 18日 (月) 04:07:21 JST


さいとうです。

From: "Koichi Shimamura"

> この動作は正しい動作ですか? Windows のコマンドプロンプトで読み込ませよ
> うとしているから SJIS じゃないと駄目だよ、ということなのでしょうか。デー
> タベースもファイルも EUC_JP で統一したから安心と思っていたのですがはまっ
> てしまいました。

はい、PostgreSQLのメニューからのコマンドインタプリタ操作では、

現在のコード ページ: 932

C:\Program Files\PostgreSQL\8.1\bin>psql postgres postgres
PostgreSQL の会話型ターミナル、psql 8.1.5 へようこそ

\copyright とタイプすると、配布条件を表示します。
\h とタイプすると、SQL コマンドのヘルプを表示します。
\? とタイプすると、psql コマンドのヘルプを表示します。
\g と打つかセミコロンで閉じると、クエリーを実行します。
\q で終了します。

のように国際化対応のGetTextで日本語を使えるように環境変数
PGCLIENTENCODING=SJISを与えています。

上記の場合ですと、事前に
set PHCLIENTENCODING=EUC_JP
と事前に設定してから読み込ませれば良いかと思います。

ただし、インタプリタモードで操作する際に、そのままですと
postgres=# \d
ERROR:  invalid byte sequence for encoding "EUC_JP": 0x8358
HINT:  This error can also happen if the byte sequence does not match the encodi
ng expected by the server, which is controlled by "client_encoding".
のように出力がエラーとなりますのでご注意くださいませ。










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