32

Is there a way to encode shapefiles from LATIN1 to UTF-8?

3 Answers 3

30

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.

7
  • Just to clarify, “recent” here seems to mean 1.9.x. I tried this with 1.8.1 and it did not work, tried again with 1.9.1 and it did. Commented May 26, 2012 at 4:59
  • Didn't work for me on Windows. Commented Nov 21, 2012 at 21:16
  • Got it to work in Windows, have updated the answer.
    – flup
    Commented Feb 10, 2013 at 23:29
  • Do you know if I can look-up the list of valid values for SHAPE_ENCODING somewhere?
    – JJD
    Commented Feb 28, 2014 at 13:30
  • 1
    @JJD They are the same used by iconv: gnu.org/software/libiconv
    – unicoletti
    Commented Mar 2, 2014 at 15:46
18

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.

3
  • 9
    Word of caution: for this solution to work qgis must be started in a LATIN1/ISO-8859-1 environment when you open the input shapefile or it won't read it correctly. If you are working in an UTF8 enviroment the conversion might fail silently, corrupting the data, depending on the data in the shapefile. BTW, most OSes now default to UTF8.
    – unicoletti
    Commented Oct 19, 2011 at 15:48
  • 1
    Note that in some situations it may not work, I had this kind of issues: (osgeo-org.1560.n6.nabble.com/UTF-8-no-more-td4647456.html)
    – JaakL
    Commented Jul 16, 2012 at 5:48
  • I am trying to save single shape file from system to utf-8 but it is not working. gis.stackexchange.com/questions/219092/… Commented Nov 25, 2016 at 10:09
5

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.