Làm cách nào để mã hóa shapefiles từ LATIN1 sang UTF-8?


Câu trả lời:


16

Bạn có thể làm điều này với QGIS. Trước tiên hãy tải shapefiles của bạn sau đó save asvà mã hóa chọn menu thả xuống utf-8 và sau đó lưu tệp của bạn.


7
Lưu ý : để giải pháp này hoạt động, qgis phải được khởi động trong môi trường LATIN1 / ISO-8859-1 khi bạn mở shapefile đầu vào hoặc nó sẽ không đọc chính xác. Nếu bạn đang làm việc trong môi trường UTF8, việc chuyển đổi có thể thất bại trong âm thầm, làm hỏng dữ liệu, tùy thuộc vào dữ liệu trong shapefile. BTW, hầu hết các hệ điều hành hiện được mặc định là UTF8.
unicoletti

1
Lưu ý rằng trong một số tình huống có thể không hoạt động, tôi đã gặp phải loại sự cố này: ( osgeo-org.1560.n6.nabble.com/UTF-8-no-more-td4647456.html )
JaakL

Tôi đang cố lưu tập tin hình dạng đơn từ hệ thống vào utf-8 nhưng nó không hoạt động. gis.stackexchange.com/questions/219092/ hàn
Muhammad Faizan Khan

27

Giả sử rằng bạn đang sử dụng Linux và có quyền truy cập vào phiên bản GDAL gần đây, bạn có thể thử các cách sau (từ bài đăng này ):

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

Lưu ý: LATIN1 cũng nên hoạt động thay vì ISO-8859-1.

Trong Windows, KHÔNG đặt SHAPE_ENCODING, ogr2ogrkhông nhận ISO-8859-1, cũng không LATIN1.


Nói một cách dễ hiểu, thì gần đây, đây có nghĩa là 1.9.x. Tôi đã thử điều này với 1.8.1 và nó không hoạt động, đã thử lại với 1.9.1 và nó đã làm được.
Michal Migurski

Không làm việc cho tôi trên Windows.
Pavel Radzivilovsky

Có nó để làm việc trong Windows, đã cập nhật câu trả lời.
flup

Bạn có biết nếu tôi có thể tra cứu danh sách các giá trị hợp lệ cho SHAPE_ENCODINGmột nơi nào đó không?
JJD

1
@JJD Chúng giống nhau được sử dụng bởi iconv: gnu.org/software/libiconv
unicoletti

3

Nếu sự hiểu biết của tôi về Shapefiles là chính xác, thì phần nhạy cảm với mã hóa là cơ sở dữ liệu thuộc tính có trong tệp DBF.

Đây là câu trả lời giúp tôi giải quyết vấn đề này bằng cách sử dụng LibreScript Calc / Base:

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

Nó có lợi ích bổ sung là bạn có thể mở tệp DBF bằng cách sử dụng một bộ ký tự riêng biệt và do đó tìm ra mã hóa hiện tại thực sự là gì.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.