En nuestra organización, manejamos el contenido GIS en diferentes formatos de archivo. Necesito poner estos archivos en una base de datos PostGIS, y eso se hace usando ogr2ogr. El problema es que la base de datos está codificada en UTF8 y los archivos pueden tener una codificación diferente.Problemas de codificación con base de datos ogr2ogr y Postgis/PostgreSQL
Encontré descripciones de cómo puedo especificar la codificación agregando un parámetro de opciones a org2ogr, pero aparentemente no tiene un efecto.
ogr2ogr -f PostgreSQL PG:"host=localhost user=username dbname=dbname \
password=password options='-c client_encoding=latin1'" sourcefile;
El error que recibo es:
ERROR 1: ALTER TABLE "soer_vd" ADD COLUMN "målsætning" CHAR(10) ERROR: invalid byte sequence for encoding "UTF8": 0xe56c73 HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". ERROR 1: ALTER TABLE "soer_vd" ADD COLUMN "påvirkning" CHAR(10) ERROR: invalid byte sequence for encoding "UTF8": 0xe57669 HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". ERROR 1: INSERT command for new feature failed. ERROR: invalid byte sequence for encoding "UTF8": 0xf8 HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".
Actualmente, mi archivo de origen es un archivo de forma y estoy bastante seguro, que se codifica Latin1.
¿Qué estoy haciendo mal aquí y me pueden ayudar?
Saludos cordiales, Casper
He intentado tanto el client_encoding como el PGCLIENTENCODING para seleccionar un esquema de codificación. Ninguno de ellos resolvió mi problema. Como no he encontrado una forma de determinar la codificación de caracteres exacta de mis archivos de formas, probé LATIN1, LATIN9, WIN1250 y WIN1252, pero todavía no tuve éxito. Todavía estoy buscando que iconv funcione ... – Chau