How to encode shapefiles from LATIN1 to UTF-8?

Assuming that you are on Linux and have access to a recent version of GDAL you can try the following (from this post) :

 export SHAPE_ENCODING="ISO-8859-1"
 ogr2ogr output.shp input -lco ENCODING=UTF-8

Note: LATIN1 should work too instead of ISO-8859-1.

In Windows, do NOT set the SHAPE_ENCODING, ogr2ogr does not recognize ISO-8859-1, nor LATIN1.


You can do this with QGIS. First load your shapefiles then save as and coding select dropdown menu utf-8 and then save your file.


If my understanding of Shapefiles is correct, the part that is encoding-sensitive is the attribute database contained in the DBF file.

Here is an answer that helped me solve this issue using LibreOffice Calc/Base:

https://gis.stackexchange.com/a/3663/17998

It has the additional benefit that you can open the DBF file using a distinct character set and thus find out what the current encoding actually is.