Ciao a tutti,
è tanto che non faccio una domanda, ma stavolta avrei proprio bisogno di un lume su Postgresql... Era tanto che non ne mettevo su uno da zero, ed ho visto che la gestione della localizzazione e dei charset si è fatta molto stringente dalla versione 8.3. Adesso il charset del db dev'essere corrispondente al locale della macchina, altrimenti createdb ti risponde picche. Ho trovato conferme sulla ml di PG. Dunque, mi hanno passato una Ubuntu 9.04 su cui mettere in piedi un server. La macchina è localizzata it_IT.UTF-8, e postgresql di default crea i db in UTF8. Adesso io devo inserire un po' di dati in Postgis e che, essendo toponimi italiani, contengono un sacco di accenti. Vado di shp2pgsql e 'file -bi' mi conferma che l'encoding è iso-8859-1 (ovvero latin1, per PG). Mi sono preoccupato allora di settare il "client_encoding='latin1' " prima di lanciare l'.sql da pgsql. NIENTE DA FARE. PG non ne vuole sapere di digerire quegli accenti, e non prova nemmeno a cambiarli. Semplicemente si piglia le righe che gli piacciono e il resto me lo rende indietro senza batter ciglio. Domanda a tutti i PGisti di gfoss: che devo fare?!!! Esperienze simili da condividere? Immagino proprio di sì... tra l'altro tra i dataset da caricare ci sono glli shape istat2008, che molti di voi avranno già maneggiato... In attesa di eventuali, confortevoli, risposte vi saluto. firmato: un uomo risucchiato da un elefante... _______________________________________________ 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. |
Il giorno mar, 06/10/2009 alle 20.30 +0200, G. Allegri ha scritto:
> Ciao a tutti, > è tanto che non faccio una domanda, ma stavolta avrei proprio bisogno > di un lume su Postgresql... > Era tanto che non ne mettevo su uno da zero, ed ho visto che la > gestione della localizzazione e dei charset si è fatta molto > stringente dalla versione 8.3. Adesso il charset del db dev'essere > corrispondente al locale della macchina, altrimenti createdb ti > risponde picche. Ho trovato conferme sulla ml di PG. > > Dunque, mi hanno passato una Ubuntu 9.04 su cui mettere in piedi un > server. La macchina è localizzata it_IT.UTF-8, e postgresql di default > crea i db in UTF8. > Adesso io devo inserire un po' di dati in Postgis e che, essendo > toponimi italiani, contengono un sacco di accenti. > Vado di shp2pgsql e 'file -bi' mi conferma che l'encoding è iso-8859-1 > (ovvero latin1, per PG). > Mi sono preoccupato allora di settare il "client_encoding='latin1' " > prima di lanciare l'.sql da pgsql. > NIENTE DA FARE. > PG non ne vuole sapere di digerire quegli accenti, e non prova nemmeno > a cambiarli. Semplicemente si piglia le righe che gli piacciono e il > resto me lo rende indietro senza batter ciglio. > > Domanda a tutti i PGisti di gfoss: che devo fare?!!! Esperienze simili > da condividere? Immagino proprio di sì... tra l'altro tra i dataset da > caricare ci sono glli shape istat2008, che molti di voi avranno già > maneggiato... > > In attesa di eventuali, confortevoli, risposte > vi saluto. > firmato: un uomo risucchiato da un elefante... Ciao Giovanni, io ho sempre lavorato impostando l'encoding al momento della creazione del database usando la flag -E Spero ti possa essere utile A presto Luca _______________________________________________ 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. |
Ciao Luca. Il problema è proprio lì. Anch'io facevo in quel modo, ma con la 8.3 mi dà errore, perché l'encoding non matcha con i locales... E sinceramente vorrei evitare di dover mettere mano alla localizzazione della macchina solo per caricare dei dati in postgis! :(
Il giorno 06 ottobre 2009 20.57, Luca Casagrande <[hidden email]> ha scritto: Il giorno mar, 06/10/2009 alle 20.30 +0200, G. Allegri ha scritto: _______________________________________________ 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. |
In reply to this post by giohappy
On Tue, Oct 06, 2009 at 08:30:07PM +0200, G. Allegri wrote:
> > La macchina è localizzata it_IT.UTF-8, e > postgresql di default crea i db in UTF8. Adesso io devo > inserire un po' di dati in Postgis e che, essendo toponimi > italiani, contengono un sacco di accenti. Vado di shp2pgsql e > 'file -bi' mi conferma che l'encoding è iso-8859-1 (ovvero > latin1, per PG). Ti consiglio di fare "La Cosa Giusta"(tm), cioè usa sempre e comunque UTF-8: imposta il locale della tua macchina su it_UT@UTF-8 e crea il database in UTF8. Se poi devi caricare dei dati che sono iso-8859-1 li converti prima con iconv con qualcosa del genere: cat pippo.sql | iconv -f ISO-8859-1 -t UTF-8 > pippo2.sql Controlla le opzioni di iconv, perché può comportarsi in diversi modi: fermarsi in caso di errore, rimuovere i caratteri errati, ecc. Tieni presente che spesso i dati di origine (per esempio quelli ISTAT) hanno encoding misti: cioè le lettere accentate a volte sono in latin altre volte in utf-8. Il che è non depone a favore della professionalità di chi ha curato il dato e ti costringe ad un lavoro di pre-processing manuale. -- Niccolo Rigacci Firenze - Italy _______________________________________________ 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. |
Ciao Niccolò.
Il locale E' it_IT.UTF_8, e il db UTF8 Avevo fatto proprio come dici tu, ma iconv mi sbatte fuori solo mezza roba. Sospetto che il problema sia proprio il mischione di encoding che hanno fatto.... Ne traggo l'amara conclusione che toccherà mettersi con santa pazienza a sistemare i dati di partenza a mano! Il giorno 06 ottobre 2009 21.18, Niccolo Rigacci <[hidden email]> ha scritto:
_______________________________________________ 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. |
In reply to this post by giohappy
On Tue, Oct 06, 2009 at 08:30:07PM +0200, G. Allegri wrote:
> Vado di shp2pgsql e 'file -bi' mi conferma che l'encoding è iso-8859-1 > (ovvero latin1, per PG). > Mi sono preoccupato allora di settare il "client_encoding='latin1' " prima > di lanciare l'.sql da pgsql. prova a passare -W Latin1 a shp2pgsql --strk; Free GIS & Flash consultant/developer () ASCII Ribbon Campaign http://foo.keybit.net/~strk/services.html /\ Keep it simple! _______________________________________________ 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. |
non ho elencato tutte le prove che ho fatto, ma c'era anche questa... e stranamente non gli è piaciuta. Adesso (grazie a Luca) provo con una versione convertita ad UTF con gedit...
giova
Il giorno 07 ottobre 2009 09.58, strk <[hidden email]> ha scritto:
_______________________________________________ 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. |
In reply to this post by giohappy
Ciao!
Non sono un guru di Postgres, ti dico come l'ho risolto io. Il problema è che il cluster di Postgres, che è la megastruttura di cartelle e file che lui usa per memorizzare i dati sul disco, il cluster è stato creato con un certo locale, UTF8 (ora i singoli termini non me li ricordo in modo preciso). Lo crea Ubuntu all'installazione del pacchetto. Con quel cluster non hai chance: puoi solo creare database UTF8. Se vuoi avere la possibilità di creare database LATIN1, LATIN9, o tutti quelli che vuoi, scegliendo al momento di creare il database, allora non c'è alternativa che abbandonare quel cluster e crearne un altro (con qualcosa del tipo: /usr/lib/postgresql/8.3/bin/initdb --locale=C -D /usr/local/pgsql/data/ Una volta fatto questo, puoi scegliere di volta in volta, invece con -- locale=...UTF8... (non mi ricordo com'è esattamente) non hai chance, solo UTF8 per tutti. Il manuale ha un paio di pagine esaustive sull'argomento: http://www.postgresql.org/docs/8.3/static/multibyte.html I miei due centesimi. Ciao, Vito Meuli On Tuesday 06 October 2009 20:30:07 G. Allegri wrote: > Ciao a tutti, > è tanto che non faccio una domanda, ma stavolta avrei proprio bisogno di un > lume su Postgresql... > Era tanto che non ne mettevo su uno da zero, ed ho visto che la gestione > della localizzazione e dei charset si è fatta molto stringente dalla > versione 8.3. Adesso il charset del db dev'essere corrispondente al locale > della macchina, altrimenti createdb ti risponde picche. Ho trovato conferme > sulla ml di PG. > > Dunque, mi hanno passato una Ubuntu 9.04 su cui mettere in piedi un server. > La macchina è localizzata it_IT.UTF-8, e postgresql di default crea i db in > UTF8. > Adesso io devo inserire un po' di dati in Postgis e che, essendo toponimi > italiani, contengono un sacco di accenti. > Vado di shp2pgsql e 'file -bi' mi conferma che l'encoding è iso-8859-1 > (ovvero latin1, per PG). > Mi sono preoccupato allora di settare il "client_encoding='latin1' " prima > di lanciare l'.sql da pgsql. > NIENTE DA FARE. > PG non ne vuole sapere di digerire quegli accenti, e non prova nemmeno a > cambiarli. Semplicemente si piglia le righe che gli piacciono e il resto me > lo rende indietro senza batter ciglio. > > Domanda a tutti i PGisti di gfoss: che devo fare?!!! Esperienze simili da > condividere? Immagino proprio di sì... tra l'altro tra i dataset da > caricare ci sono glli shape istat2008, che molti di voi avranno già > maneggiato... > > In attesa di eventuali, confortevoli, risposte > vi saluto. > firmato: un uomo risucchiato da un elefante... _______________________________________________ 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. |
grazie Vito. Mi sa che farò così, perché per adesso nessuna soluzione (stranamente) ha funzionato. Nemmeno la conversione a UTF8 con gedit (grazie lo stesso Luca!).
giovanni Il giorno 07 ottobre 2009 11.42, Vito Meuli <[hidden email]> ha scritto: Ciao! _______________________________________________ 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. |
Free forum by Nabble | Edit this page |