だから私はGeoDjangoチュートリアルを歩いていて、このエラーメッセージで立ち往生しています:
postgres@lucid32:~$ createdb -E UTF8 template_postgis
createdb: database creation failed: ERROR: encoding UTF8 does not match locale en_US
DETAIL: The chosen LC_CTYPE setting requires encoding LATIN1.
私はグーグルでいくつかのUbuntuドキュメントを読みましたが、役に立ちませんでした。どんな洞察も大歓迎です!
セットアップをテストするために、デフォルトのVagrant Box lucid32を使用しています。
データベースのロケールを指定し、そこからエンコーディングを把握することをお勧めします。だから次のようなものを使用してください
createdb --locale=en_US.utf8 template_postgis
-EUTF8と--locale = en_US.utf8の両方が必要です
$ createdb -E UTF8 -T template0 --locale=en_US.utf8 template_postgis
それ以外の場合は、postgresqlにログインするときにこれを試してください:
create database databse_name with owner database_owner encoding='UTF-8'lc_collate='en_US.utf8' lc_ctype='en_US.utf8' template template0;
オペレーティングシステムのロケールをutf8互換のロケールに設定する必要があります。 locale -a
を実行して使用できるロケールのリストを取得してから、update-locale LANG=en_US.utf8
のような操作を行い、en_US.utf8を任意のロケールに置き換えます。
これを見てください: https://askubuntu.com/questions/20880/unicode-in-postgresql-8-4/114922#114922
クラスターを作成する前にロケールを構成する必要があるかもしれません
~#export LANGUAGE=en_US.UTF-8
~#export LANG=en_US.UTF-8
~#export LC_ALL=en_US.UTF-8
~#locale-gen en_US.UTF-8
~#dpkg-reconfigure locales