sql >> データベース >  >> RDS >> PostgreSQL

SQLAlchemyとPostgresUnicodeDecodeError

    エンコーディングはサーバーごとに異なるようです。次のコマンドを発行して、これを確認できます。

    SHOW client_encoding; --Equivalent to: SELECT current_setting('client_encoding');
    SHOW server_encoding; --Equivalent to: SELECT current_setting('server_encoding');
    

    PostgreSQLは自動的にクライアントエンコーディングに変換します。おそらく、両方とも環境によって異なります。 client_encodingを構成できます 多くの方法で:

    • SETの使用 アプリで接続を開くときのコマンド:SET client_encoding = 'UTF-8';
    • set_configの使用 アプリで接続を開いたときの関数:SELECT set_config('client_encoding', 'UTF-8', true);
    • PGCLIENTENCODINGを構成します OSの環境変数:export PGCLIENTENCODING=UTF8
    • client_encodingを編集します postgres設定ファイル内
    • ALTER SYSTEMを使用する (その後、SELECT pg_reload_conf();を使用して構成を更新する必要があります。 ):ALTER SYSTEM SET client_encoding = 'UTF-8';

    更新: 残念ながら、SQL_ASCIIからの自動変換を有効にすることはできません。

    Postgresドキュメント からの引用 。




    1. MySQL5.7で厳密なSQLモードを無効にする方法

    2. SQL ServerCE4.0のパフォーマンスの比較

    3. Oracleのデータベースリンクを介してSQLServerストアドプロシージャを実行する

    4. 正確な行数でテーブルからランダムな行を選択するにはどうすればよいですか?