[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