1

最近、既存の SQL データベースを作成/更新するために PostgreSQL を使い始めました。これはかなり新しいので、新しいデータベースの作成中に正しいエンコーディングタイプを選択するという問題に遭遇しました。UTF-8 (デフォルト) は、含まれるデータがさまざまな言語 (英語、中国語、日本語、ロシア語など) であり、記号文字が含まれているため、私には機能しませんでした。

質問: 私のニーズを満たす適切なデータベース エンコーディング タイプは何ですか?

どんな助けでも大歓迎です。

4

1 に答える 1

2

ここでは、4 つの異なるエンコード設定が使用されます。

  • データベースのサーバー側エンコーディング

  • client_encodingPostgreSQL クライアントが PostgreSQL サーバーにアナウンスすること。PostgreSQL サーバーは、クライアントからのテキストが入っていると想定し、client_encodingそれをサーバーのエンコーディングに変換します。

  • オペレーティング システムのデフォルトのエンコーディング。別のものを指定しない場合、これがデフォルトでclient_encoding設定されます。psql他のクライアント ドライバーのデフォルトは異なる場合があります。たとえば、PgJDBC は常に を使用しutf-8ます。

  • クライアント ドライバー経由で送信されるファイルまたはテキストのエンコード。これは通常、OS のデフォルトのエンコーディングですが、別のエンコーディングである場合もあります。たとえば、OS がutf-8デフォルトで使用するように設定されてCOPYいても、latin-1.

ほとんどの場合、サーバーのエンコーディングを に設定する必要がありますutf-8。状況に応じて変更する必要があるのは残りの部分です。詳細についてのヘルプを得るには、より詳細な情報 (正確なエラー メッセージ、ファイルの内容など) を提供する必要があります。

于 2013-11-11T02:42:24.553 に答える