0

データベースに、、、、、などのポーランド語の文字を含むレコードがśあります。ćżź

SELECTいくつかのステートメントを実行しようとすると、たまたま問題になります。

私は自分のテキストを取得しますが、上記で書いた文字の代わりに次のように取得します<c4><85>

たとえば、のエンコーディングを変更するutf-8方法があると思いますが、次のような単純なクエリに対してどのように変更できますselect * from tableか?

4

1 に答える 1

2

これがコンソール上にあることを示したように、psqlを開始する前に、まずコンソールのエンコーディングを確認する必要があります。

WindowsコマンドラインのUnicode文字を参照してください-どのように?Windowsでこれを行う方法の詳細については。

UTF8で読み取り/書き込みを行ったとしてもpsql、コンソールは必ずしも文字を理解せず、正しく表示されないため、これを行う必要があります。

コンソールがUTF-8エンコーディングを受け入れることができることを確認したら、psqlがこのエンコーディングを取得したことを確認します。

show client_encoding;
 client_encoding
-----------------
 UTF8
(1 row)

それでもUTF-8が表示されない場合は、次を使用できます。

set client_encoding = UTF8;

原則として; プログラムがUTF8の使用を想定している場合は、クライアントエンコーディングを盲目的に設定しても問題はありません(最初から何をチェックするかを確認せずに)。

http://www.postgresql.org/docs/current/static/multibyte.html

注: 上記のリンクは現在のバージョンのものです。OPがバージョン8.0を要求したため、8.0マニュアルへのリンクは次のとおりです。

http://www.postgresql.org/docs/8.0/static/multibyte.htmlを参照してください

于 2013-02-04T10:06:13.000 に答える