¿Qué codificación de caracteres utiliza el archivo dbf en los shapefiles? Parece que se maneja de manera diferente, según el programa y la configuración de codificación local de la máquina. ¿Qué codificación es 'correcta' - especificada para el formato?
52
Respuestas:
El estándar original DBF define el uso de ISO8859-1 , y solo ISO8859-1. Entonces, cuando obtienes un Shapefile que realmente cumple con los estándares, debería ser ISO8859-1. Por supuesto, esta restricción (muy antigua) no es realmente utilizable hoy en día.
ArcGIS y Geopublisher, AtlasStyler y Geoserver comenzaron a extender el estándar para definir la codificación. Para ArcGIS , por ejemplo, simplemente cree un archivo .cpg (con el mismo nombre base que los otros Shapefiles) y complételo con el nombre de la codificación.
por ejemplo, cree un myshape.cpg con un editor de texto e inserte 5 caracteres "UTF-8" y guárdelo. Si luego abre el Shapefile en ArcGIS, lee el contenido textual del DBF en ese juego de caracteres.
Geoserver: Geoserver WFS puede exportar cualquier capa WFS como un Shapefile comprimido. Cuando se hace esto, un archivo .cst está contenido en el archivo zip, haciendo exactamente lo mismo que el archivo .cpg.
Atención: todo esto solo se aplica a los datos, no a los nombres de columna. Realmente solo debe usar ASCII en los nombres de columna de un DBF si desea que el archivo se pueda abrir con otros programas.
Sugerencia: para cambiar la codificación de un DBF, ábralo con OpenOffice Calc ... elija Guardar como ... haga clic en "Opciones de filtro" en la parte inferior izquierda y presione guardar. Luego puede definir la codificación para convertir el contenido del texto.
fuente
General input/output error
mensaje, probablemente no tenga Base instalada . El problema es el mismo si usa OpenOffice o LibreOffice..cpg
supone que un archivo también funciona bien en QGIS, a partir de libgdal 1.9. A veces incluso parece ser necesario: ssrebelious.wordpress.com/2012/03/11/…Estoy bastante seguro de que no hay una codificación "correcta". Un archivo .dbf puede estar en cualquier codificación y podrá abrir el Shapefile y leer los atributos correctamente si lo sabe.
Puede encontrar el documento técnico de ESRI aquí: http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf
Por lo general, espero que un archivo de forma sea UTF-8 o en el local del país cubierto (a menudo algo de codificación latina).
fuente
Cada vez que veo una pregunta sobre la codificación, remito a las personas a este artículo: http://www.joelonsoftware.com/articles/Unicode.html
Como dice:
fuente
Una manera simple es convertir el archivo shp a un archivo csv. Y use enca o iconv para detectar la codificación. Intenté con archivos UTF8 y gb18030 y funciona.
fuente