Ответ 1
Лучше всего указать локаль для базы данных и выяснить, из чего это кодирование. Поэтому используйте что-то вроде
createdb --locale=en_US.utf8 template_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 для тестирования моей настройки.
Лучше всего указать локаль для базы данных и выяснить, из чего это кодирование. Поэтому используйте что-то вроде
createdb --locale=en_US.utf8 template_postgis
Требуются как -E UTF8, так и -locale = en_US.utf8
$ createdb -E UTF8 -T template0 --locale=en_US.utf8 template_postgis
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;
Вам нужно установить локаль вашей операционной системы в любой совместимый с utf8 язык. Запустите locale -a
, чтобы получить список локалей, которые вы можете использовать, а затем сделайте что-то вроде update-locale LANG=en_US.utf8
, заменив en_US.utf8 на любой желаемый язык.
посмотрите на это: 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