Come si determina il set di caratteri di un file di forma?


25

C'è un modo per determinare il set di caratteri utilizzato per un dato file di forma?

Risposte:


9

Prova ed errore. Prova ad aprire il file .dbf con Ms Excel o con OpenOffice utilizzando impostazioni diverse fino a ottenere tutto correttamente.

Guarda questo post per ulteriori indizi: /programming/319095/how-do-i-determine-the-character-set-of-a-string


Se non si sa nulla della codifica, vale la pena provare prima latin1 o UTF-8.
krlmlr

Ho aperto il file .dbf in Excel e i caratteri vengono visualizzati normalmente. Come posso vedere quale codifica Excel sta utilizzando / rilevando? In modo da poterlo impostare in QGIS ...
user3386170

12

Esistono due modi in cui i programmi possono determinare il set di caratteri per uno shapefile.


+1 Il collegamento a una pagina in formato file dBase è eccezionale. Tuttavia, AFAIK, le tabelle codici non sono mai state incluse nel formato dBase III. Il riferimento è a un'estensione FoxPro del formato, che suggerisce che non tutti i file .dbf avranno informazioni di codepage in essi (o, se lo fanno, potrebbe essere il risultato di byte di immondizia che appaiono in un'area libera dell'intestazione ). Ma se riesci a estrarre queste informazioni, è comunque un buon inizio per una ricerca di prova ed errore. A proposito, benvenuto nel nostro sito!
whuber

Alcune librerie dbf di Python possono leggere la tabella codici se sono presenti informazioni.
Paulo Scardine,

5

L' fileutilità è in grado di indovinare la codifica di un file di testo. Utilizzare ogr2ogrper una conversione che conserva la codifica originale se non è presente alcun .cpgfile :

ogr2ogr -f CSV file.csv file.dbf
file file.csv

Esempio di output:

file.csv: ISO-8859 text

L'ho testato con due delle codifiche più frequenti, UTF-8 e latin1. Funziona subito con Ubuntu, non sono sicuro di OS X. Non sono a conoscenza di fileun'utilità su Windows.

NOTA : non appena c'è un .cpgfile corrispondente che indica la codifica, ogr2ogrla onorerà e l'output sarà in UTF-8. Ma se l'output CSV sembra corretto, sai che le informazioni nel .cpgfile sono accurate.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.