[QGIS-it-user] Character Encoding in Layer postgis e memory layer

Salve a tutti, ho una tabella postgis che carico come nuovo layer in base a un filtro,
ovivamente è codificata un UTF-8 ma sul PC aziendale ho un sistema diversamente operativo che ha di default la “sua” codifica e pertanto escono caratteri strani al posto di " Via San Pio X°

La cosa strana è che non posso modificare la codifica nelle proprietà del layer… semplicemente non è indicata la codifica, e nemmeno se lo copio in un memory layer è indicata

Qualche idea o un comando veloce da console python per cambiare la codifica?

amefad

Salve,

mi pare un po’ strano perchè nessuno ha impostato sul proprio pc l’UTF-8 (su win mi pare sia ISO 8859-1). Per cui se quello che dici è corretto dovrebbe dare lo stesso problema su tutti i pc. Io lavoro in postgis e non ho mai avuto un problema simile… Al contrario capita che importando da shp file con codifiche diverse ci siano problemi nei caratteri importati (che a volte tocca correggere a mano).

Inoltre se penso a come si comportano gli shp file il processo è uguale: se si specifica la codifica dello shp qgis lo legge correttamente, ma va specificata la codifica in cui sono i caratteri.

Nel db è molto più semplice perchè la codifica è blindata a livello di db per cui lui lo sa già (lo trovi riportato nel qml postgres).

Sei sicuro che il dato originale sia corretto? Magari importato da uno shp senza dargli la codifica corretta?

···

Il giorno 14 dicembre 2017 14:06, Amedeo Fadini <amefad@gmail.com> ha scritto:

Salve a tutti, ho una tabella postgis che carico come nuovo layer in base a un filtro,
ovivamente è codificata un UTF-8 ma sul PC aziendale ho un sistema diversamente operativo che ha di default la “sua” codifica e pertanto escono caratteri strani al posto di " Via San Pio X°

La cosa strana è che non posso modificare la codifica nelle proprietà del layer… semplicemente non è indicata la codifica, e nemmeno se lo copio in un memory layer è indicata

Qualche idea o un comando veloce da console python per cambiare la codifica?

amefad


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Sergio Gollino

Questo messaggio, comprensivo di eventuali allegati, è ad uso esclusivo del destinatario e potrebbe contenere informazioni riservate; se è stato recapitato per errore ci scusiamo per l’accaduto e Vi invitiamo cortesemente a darcene notizia provvedendo alla sua distruzione.

Vi ricordiamo che la diffusione, l’utilizzo e/o la conservazione dei dati ricevuti per errore costituiscono violazione alle disposizioni del D.Lgs. n. 196/2003 “Codice in materia di protezione dei dati personali”.

Grazie

···

Il giorno 14 dicembre 2017 14:22, Sergio Gollino <gollinosergio@gmail.com> ha scritto:

Salve,

mi pare un po’ strano perchè nessuno ha impostato sul proprio pc l’UTF-8 (su win mi pare sia ISO 8859-1).

Sì appunto UTF-8 è l’encoding del db

Per cui se quello che dici è corretto dovrebbe dare lo stesso problema su tutti i pc. Io lavoro in postgis e non ho mai avuto un problema simile… Al contrario capita che importando da shp file con codifiche diverse ci siano problemi nei caratteri importati (che a volte tocca correggere a mano).

Inoltre se penso a come si comportano gli shp file il processo è uguale: se si specifica la codifica dello shp qgis lo legge correttamente, ma va specificata la codifica in cui sono i caratteri.

Nel db è molto più semplice perchè la codifica è blindata a livello di db per cui lui lo sa già (lo trovi riportato nel qml postgres).

La cosa strana è che non mi consente di specificare la codifica nemmeno quando diventa memory layer

Sei sicuro che il dato originale sia corretto? Magari importato da uno shp senza dargli la codifica corretta?

Il dato originale per la parte alfanumerica è inserito nel db di partenza da una applicazione.

amefad

Il giorno 14 dicembre 2017 15:11, Amedeo Fadini <amefad@gmail.com> ha
scritto:

Grazie

Il giorno 14 dicembre 2017 14:22, Sergio Gollino <gollinosergio@gmail.com>
ha scritto:

Salve,
mi pare un po' strano perchè nessuno ha impostato sul proprio pc l'UTF-8
(su win mi pare sia ISO 8859-1).

Sì appunto UTF-8 è l'encoding del db

Ciò che intendo è che il pc non ha utf-8 impostato ma sapendo che il dato
che legge dal db ha quella codifica lo interpreta correttamente (per questo
non serve impostare nulla da nessuna parte).

Per cui se quello che dici è corretto dovrebbe dare lo stesso problema su
tutti i pc. Io lavoro in postgis e non ho mai avuto un problema simile...
Al contrario capita che importando da shp file con codifiche diverse ci
siano problemi nei caratteri importati (che a volte tocca correggere a
mano).

Inoltre se penso a come si comportano gli shp file il processo è uguale:
se si specifica la codifica dello shp qgis lo legge correttamente, ma va
specificata la codifica in cui sono i caratteri.
Nel db è molto più semplice perchè la codifica è blindata a livello di db
per cui lui lo sa già (lo trovi riportato nel qml <provider
encoding="UTF-8">postgres</provider>).

La cosa strana è che non mi consente di specificare la codifica nemmeno
quando diventa memory layer

Che io sappia non si può impostare la codifica in Qgis perchè è una
carratteristica del layer. Negli shp file per impostare la codifica devi
creare un file di codifica (io uso un plugin) ma non è impostabile dalle
proprietà del layer, immagino sia lo stesso per i layer virtuali (che non
uso quasi mai però, per cui potrei sbagliarmi).

Sei sicuro che il dato originale sia corretto? Magari importato da uno
shp senza dargli la codifica corretta?

Il dato originale per la parte alfanumerica è inserito nel db di partenza
da una applicazione.

amefad

Se analizzi il dato originale con un client tipo pgadmin lo vedi corretto o
no? Io uso spesso shp2pgsql, che di default ha impostata la codifica UTF-8.
se si importa uno shp file che contiene dati in un altra codifica
(tipicamente latin1) una volta importato, il dato alfanumerico è corrotto
(saltano tutti gli accenti e i caratteri speciali). A questo punto non si
torna più indietro. O si reimporta il dato dando all'applicazione la
corretta codifica per interpretarlo, oppure si corregge a mano (non ti dico
che divertente che importare i dati austriaci e sloveni).

Ciao!

Sergio
--
Sergio Gollino

Questo messaggio, comprensivo di eventuali allegati, è ad uso esclusivo del
destinatario e potrebbe contenere informazioni riservate; se è stato
recapitato per errore ci scusiamo per l'accaduto e Vi invitiamo
cortesemente a darcene notizia provvedendo alla sua distruzione.
Vi ricordiamo che la diffusione, l'utilizzo e/o la conservazione dei dati
ricevuti per errore costituiscono violazione alle disposizioni del D.Lgs.
n. 196/2003 "Codice in materia di protezione dei dati personali".