Bagaimana cara menyandikan shapefile dari LATIN1 ke UTF-8?

28

Apakah ada cara untuk menyandikan shapefile dari LATIN1 ke UTF-8?

melawan arus
sumber

Jawaban:

16

Anda dapat melakukan ini dengan QGIS. Pertama-tama muatkan shapefile Anda lalu save askoding pilih menu tarik-turun utf-8 dan kemudian simpan file Anda.

Aragon
sumber
7
Peringatan : agar solusi ini berfungsi, qgis harus dimulai di lingkungan LATIN1 / ISO-8859-1 saat Anda membuka formfile input atau tidak akan membacanya dengan benar. Jika Anda bekerja di lingkungan UTF8 konversi mungkin gagal secara diam-diam, merusak data, tergantung pada data di shapefile. BTW, sebagian besar OS sekarang default ke UTF8.
unicoletti
1
Perhatikan bahwa dalam beberapa situasi mungkin tidak berfungsi, saya memiliki masalah seperti ini: ( osgeo-org.1560.n6.nabble.com/UTF-8-no-more-td4647456.html )
JaakL
Saya mencoba untuk menyimpan file bentuk tunggal dari sistem ke utf-8 tetapi tidak berfungsi. gis.stackexchange.com/questions/219092/…
Muhammad Faizan Khan
27

Dengan asumsi bahwa Anda menggunakan Linux dan memiliki akses ke versi GDAL terbaru, Anda dapat mencoba yang berikut (dari posting ini ):

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

Catatan: LATIN1 harus berfungsi juga, bukan ISO-8859-1.

Di Windows, JANGAN mengatur SHAPE_ENCODING, ogr2ogrtidak mengenali ISO-8859-1, juga LATIN1.

unicoletti
sumber
Hanya untuk memperjelas, "baru-baru ini" di sini tampaknya berarti 1.9.x. Saya mencoba ini dengan 1.8.1 dan tidak berhasil, mencoba lagi dengan 1.9.1 dan ternyata berhasil.
Michal Migurski
Tidak bekerja untuk saya di Windows.
Pavel Radzivilovsky
Sudah berfungsi di Windows, sudah perbarui jawabannya.
flup
Apakah Anda tahu jika saya dapat mencari daftar nilai yang valid untuk SHAPE_ENCODINGsuatu tempat?
JJD
1
@JJD Mereka adalah sama yang digunakan oleh iconv: gnu.org/software/libiconv
unicoletti
3

Jika pemahaman saya tentang Shapefiles benar, bagian yang sensitif terhadap pengkodean adalah database atribut yang terkandung dalam file DBF.

Berikut adalah jawaban yang membantu saya memecahkan masalah ini menggunakan LibreOffice Calc / Base:

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

Ini memiliki manfaat tambahan bahwa Anda dapat membuka file DBF menggunakan set karakter yang berbeda dan dengan demikian mencari tahu apa sebenarnya pengkodean saat ini.

Marian
sumber