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

UTF8のエンコーディングがロケールen_USと一致しません。選択したLC_CTYPE設定には、LATIN1のエンコードが必要です

    StackOverFlowの何も機能しなかったので、これに答えています。

    その仕事をした他のサイトの2つのソリューションを組み合わせました(この回答はUbuntuサーバー12.04とPGSQL 9.1で機能します):

    ファイルを作成します:

    nano /etc/profile.d/lang.sh

    以下を追加

    export LANGUAGE="en_US.UTF-8"
    export LANG="en_US.UTF-8"
    export LC_ALL="en_US.UTF-8"
    

    保存

    シェルを再起動するか、現在のシェルインスタンスですべてのエクスポートコマンドを手動で実行します

    エンコーディングがUTF8になるように再構成します([ここから取得] [1])

    sudo su postgres
    
    psql
    
    update pg_database set datistemplate=false where datname='template1';
    drop database Template1;
    create database template1 with owner=postgres encoding='UTF-8'
    
      lc_collate='en_US.utf8' lc_ctype='en_US.utf8' template template0;
    
    update pg_database set datistemplate=true where datname='template1';
    

    データベースの作成にはtemplate1を使用します。

    これがお役に立てば幸いです;)



    1. 内部クエリを使用したORDERBY、ORA-00907に右括弧がありません

    2. 1つのテーブルのすべての行に他のテーブルの対応者が含まれていない場合でも、MySQLの2つのテーブルから選択するにはどうすればよいですか?

    3. PostgreSQLでインターバル出力フォーマットを設定する方法

    4. SQL Serverの特定のテーブルを参照するすべての外部キーを一覧表示するにはどうすればよいですか?