web-dev-qa-db-ja.com

PostgreSQLおよびPostGISで使用するためにLC_CTYPEを変更する

だから私は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を使用しています。

19
a.m.

データベースのロケールを指定し、そこからエンコーディングを把握することをお勧めします。だから次のようなものを使用してください

createdb --locale=en_US.utf8 template_postgis
13

-EUTF8と--locale = en_US.utf8の両方が必要です

$ createdb -E UTF8 -T template0 --locale=en_US.utf8 template_postgis
9
archie

それ以外の場合は、postgresqlにログインするときにこれを試してください:

create database databse_name with owner database_owner encoding='UTF-8'lc_collate='en_US.utf8' lc_ctype='en_US.utf8' template template0;
4
Freelancer

オペレーティングシステムのロケールをutf8互換のロケールに設定する必要があります。 locale -aを実行して使用できるロケールのリストを取得してから、update-locale LANG=en_US.utf8のような操作を行い、en_US.utf8を任意のロケールに置き換えます。

2
Some Guy

これを見てください: 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
2
user535010