Подтвердить что ты не робот

Изменить LC_CTYPE для использования PostgreSQL и PostGIS

Итак, я прохожу через учебник GeoDjango, и я застрял в этом сообщении об ошибке:

[email protected]:~$ 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.

Я googled и прочитал некоторые документы Ubuntu, но безрезультатно. Любое понимание будет принята с благодарностью!

Я использую по умолчанию Vagrant Box lucid 32 для тестирования моей настройки.

4b9b3361

Ответ 1

Лучше всего указать локаль для базы данных и выяснить, из чего это кодирование. Поэтому используйте что-то вроде

createdb --locale=en_US.utf8 template_postgis

Ответ 2

Требуются как -E UTF8, так и -locale = en_US.utf8

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

Ответ 3

Else, попробуйте это, когда вы входите в 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

Вам нужно установить локаль вашей операционной системы в любой совместимый с utf8 язык. Запустите locale -a, чтобы получить список локалей, которые вы можете использовать, а затем сделайте что-то вроде update-locale LANG=en_US.utf8, заменив en_US.utf8 на любой желаемый язык.

Ответ 5

посмотрите на это: https://askubuntu.com/info/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