最近、既存の SQL データベースを作成/更新するために PostgreSQL を使い始めました。これはかなり新しいので、新しいデータベースの作成中に正しいエンコーディングタイプを選択するという問題に遭遇しました。UTF-8 (デフォルト) は、含まれるデータがさまざまな言語 (英語、中国語、日本語、ロシア語など) であり、記号文字が含まれているため、私には機能しませんでした。
質問: 私のニーズを満たす適切なデータベース エンコーディング タイプは何ですか?
どんな助けでも大歓迎です。
最近、既存の SQL データベースを作成/更新するために PostgreSQL を使い始めました。これはかなり新しいので、新しいデータベースの作成中に正しいエンコーディングタイプを選択するという問題に遭遇しました。UTF-8 (デフォルト) は、含まれるデータがさまざまな言語 (英語、中国語、日本語、ロシア語など) であり、記号文字が含まれているため、私には機能しませんでした。
質問: 私のニーズを満たす適切なデータベース エンコーディング タイプは何ですか?
どんな助けでも大歓迎です。
ここでは、4 つの異なるエンコード設定が使用されます。
データベースのサーバー側エンコーディング
client_encoding
PostgreSQL クライアントが PostgreSQL サーバーにアナウンスすること。PostgreSQL サーバーは、クライアントからのテキストが入っていると想定し、client_encoding
それをサーバーのエンコーディングに変換します。
オペレーティング システムのデフォルトのエンコーディング。別のものを指定しない場合、これがデフォルトでclient_encoding
設定されます。psql
他のクライアント ドライバーのデフォルトは異なる場合があります。たとえば、PgJDBC は常に を使用しutf-8
ます。
クライアント ドライバー経由で送信されるファイルまたはテキストのエンコード。これは通常、OS のデフォルトのエンコーディングですが、別のエンコーディングである場合もあります。たとえば、OS がutf-8
デフォルトで使用するように設定されてCOPY
いても、latin-1
.
ほとんどの場合、サーバーのエンコーディングを に設定する必要がありますutf-8
。状況に応じて変更する必要があるのは残りの部分です。詳細についてのヘルプを得るには、より詳細な情報 (正確なエラー メッセージ、ファイルの内容など) を提供する必要があります。