¿Hay alguna manera de determinar el charset usado para un shapefile dado?
Respuestas
¿Demasiados anuncios?Hay dos maneras de que los programas determinen el conjunto de caracteres de un archivo de formas.
- El primero es el archivo de la página de códigos *.cpg.
- La segunda es la información de la página de códigos, que puede estar dentro del archivo dbase. La especificación puede ser encontrada en http://www.clicketyclick.dk/databases/xbase/format/dbf.html#DBF_STRUCT
Prueba y error. Intenta abrir el archivo .dbf con Ms. Excel o con OpenOffice usando una configuración diferente hasta que logres que todo esté bien.
Mira este post para más pistas: http://stackoverflow.com/questions/319095/how-do-i-determine-the-character-set-of-a-string
El file
es capaz de adivinar la codificación de un archivo de texto. Utiliza ogr2ogr
para una conversión que preserve la codificación original si no hay .cpg
archivo :
ogr2ogr -f CSV file.csv file.dbf
file file.csv
Ejemplo de salida:
file.csv: ISO-8859 text
Lo he probado con dos de las codificaciones más frecuentes, UTF-8 y latin1. Funciona fuera de la caja en Ubuntu, no estoy seguro de OS X. No estoy al tanto de un file
en Windows.
NOTA : Tan pronto como haya un correspondiente .cpg
que indica la codificación, ogr2ogr
lo honrará y la salida será en UTF-8. Pero si la salida del CSV se ve bien, sabes que la información en el .cpg
El archivo es preciso.
Otra tabla para convertir el 29º byte de *.dbf a página de código: http://webhelp.esri.com/arcpad/8.0/referenceguide/index.htm#locales/task_code.htm