[Gfoss] Problemi con shp2pgsql
beppe
beppenapo a gmail.com
Ven 12 Mar 2010 20:33:56 CET
Grazie mille, provo e ... speriamo bene!
-beppe-
Il giorno ven, 12/03/2010 alle 12.13 +0100, a.furieri a lqt.it 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
>
>
Maggiori informazioni sulla lista
Gfoss