2011-12-02 31 views
19

Así que estoy caminando por el tutorial GeoDjango y estoy atascado en este mensaje de error:Cambio LC_CTYPE para PostgreSQL y PostGIS utilizar

[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. 

He buscado en Google y leer algunos documentos de Ubuntu, pero en vano. ¡Cualquier idea sería muy apreciada!

Estoy usando el Vacunt Box predeterminado lucid 32, para probar mi configuración.

Respuesta

13

Es mejor especificar la configuración regional de la base de datos y se debe deducir la codificación. Así que usar algo como

createdb --locale=en_US.utf8 template_postgis 
+13

Lo que en realidad terminó haciendo es createdb -E UTF8 -T template0 --locale = en_US.utf8 template_postgis –

+0

'--locale = en_US.UTF-8' como de PostgreSQL 9.4.5 –

2

Debe configurar la configuración regional de su sistema operativo en cualquier configuración regional compatible con utf8. Ejecute locale -a para obtener una lista de las configuraciones regionales que puede usar, y luego haga algo como update-locale LANG=en_US.utf8, reemplazando en_US.utf8 con la configuración regional que desee.

4

Si no, intentar esto cuando se conecte a PostgreSQL:

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

más 1 por agregando template0 – Erik

9

Ambos -EUTF8 y --locale = en_US.utf8 son necesarios

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