Problemi con shp2pgsql

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Problemi con shp2pgsql

Giuseppe Naponiello
Salve a tutti,
sto cercando di importare in postgis alcuni shp di teleatlas.
Per comodità pensavo di usare shp2pgsql da riga di comando ma non riesco ad importarli per problemi, pare, di "client encoding" (il db è utf 8).
Per curiosità ho provato ad usare il plugin SPIT di qgis e tutto fila liscio, almeno per una tabella (se non sbaglio il plugin non permette di "appendere" nuovi record, o almeno a me non mi riesce!).
La soluzione che ho trovato è quella di fare prima una merge dei dati e poi importarli con SPIT, ma vorrei capire qual'è il problema e, sopratutto, la procedura corretta; ad esempio, per usare shp2pgsql che codifica devo usare per il db?
E' davvero un problema di codifica?

Grazie per i consigli

--
-beppe-

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
Reply | Threaded
Open this post in threaded view
|

Re: Problemi con shp2pgsql

Giuseppe Naponiello
Grazie mille, provo e ... speriamo bene!

-beppe-

Il giorno ven, 12/03/2010 alle 12.13 +0100, [hidden email] ha scritto:

> On Fri, 12 Mar 2010 11:57:50 +0100, Giuseppe Naponiello wrote
> > Salve a tutti,
> > sto cercando di importare in postgis alcuni shp di teleatlas.
> > Per comodità pensavo di usare shp2pgsql da riga di comando ma non
> riesco ad importarli per problemi, pare, di "client encoding" (il db è
> utf 8).
> > Per curiosità ho provato ad usare il plugin SPIT di qgis e tutto
> fila liscio, almeno per una tabella (se non sbaglio il plugin non
> permette di "appendere" nuovi record, o almeno a me non mi riesce!).
> > La soluzione che ho trovato è quella di fare prima una merge dei
> dati e poi importarli con SPIT, ma vorrei capire qual'è il problema e,
> sopratutto, la procedura corretta; ad esempio, per usare shp2pgsql che
> codifica devo usare per il db?
> > E' davvero un problema di codifica?
> >
>
> Si, è davvero un problema di codifica.
>
> Uno Shapefile ha sempre un .DBF associato che contiene gli
> attributi informativi: è molto facile che i tuoi SHP contengano
> toponimi con lettere accentate (p.es. Viggiù, Paternò ...).
>
> Se i tuoi SHP sono stati generati su Windows (molto probabile)
> allora quasi certamente usano il charset encoding CP1252
> [Windows Latin-1], che è completamente differente da UTF-8.
>
> E quindi (giustamente) PostgreSQL 'sputa via' schifato i tuoi
> dati, perchè non riesce ad interpretarli correttamente.
>
> Ma la soluzione è abbastanza semplice: basta che tu usi
> il comando 'iconv' per convertire il charset encoding.
>
> p.es. se il file generato da shp2pgsql si chiama 'pippo.sql':
>
> iconv -f CP1252 -t UTF-8 pippo.sql >pippo2.sql
>
> ... e poi ovviamente devi importare pippo2.sql
>
> ciao Sandro
>
>

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.faunalia.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.