Is there a way to encode shapefiles from LATIN1 to UTF-8?
3 Answers
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
.
-
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
-
-
-
Do you know if I can look-up the list of valid values for
SHAPE_ENCODING
somewhere?– JJDCommented Feb 28, 2014 at 13:30 -
1@JJD They are the same used by iconv: gnu.org/software/libiconv Commented Mar 2, 2014 at 15:46
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.
-
9Word 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. Commented Oct 19, 2011 at 15:48
-
1Note 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)– JaakLCommented 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
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.