Bagaimana Anda menentukan rangkaian karakter shapefile?

25

Apakah ada cara untuk menentukan charset yang digunakan untuk shapefile yang diberikan?

Matthew Finlay
sumber

Jawaban:

9

Trial and error. Cobalah untuk membuka file .dbf dengan Ms Excel atau dengan OpenOffice menggunakan pengaturan yang berbeda sampai Anda mendapatkan semuanya dengan benar.

Lihatlah tulisan ini untuk petunjuk lebih lanjut: /programming/319095/how-do-i-determine-the-character-set-of-a-string

Pablo
sumber
Jika tidak ada yang diketahui tentang penyandian, sebaiknya coba latin1 atau UTF-8 terlebih dahulu.
krlmlr
Saya telah membuka .dbf di Ms Excel dan karakter muncul secara normal. Bagaimana saya bisa melihat pengkodean mana yang menggunakan / mendeteksi Excel? Sehingga saya bisa mengaturnya di QGIS ...
user3386170
12

Ada dua cara bagi program untuk menentukan set karakter untuk suatu shapefile.

Andreas W. Bartels
sumber
+1 Tautan ke halaman format file dBase sangat bagus. Namun, AFAIK, codepage tidak pernah dimasukkan dalam format dBase III. Referensi ada untuk ekstensi FoxPro dari format, yang menunjukkan tidak semua file .dbf akan memiliki info codepage di dalamnya (atau, jika mereka melakukannya, itu mungkin hasil dari bytes sampah muncul di area bebas dari header. ). Tetapi jika Anda dapat menggali informasi ini, ini masih merupakan awal yang baik untuk pencarian coba-coba. BTW, selamat datang di situs kami!
whuber
Beberapa pustaka python dbf dapat membaca codepage jika informasinya ada.
Paulo Scardine
5

The fileutilitas mampu menebak pengkodean dari file teks. Gunakan ogr2ogruntuk konversi yang mempertahankan penyandian asli jika tidak ada .cpgfile :

ogr2ogr -f CSV file.csv file.dbf
file file.csv

Contoh output:

file.csv: ISO-8859 text

Saya telah mengujinya dengan dua pengkodean yang paling sering, UTF-8 dan latin1. Berfungsi di luar kotak di Ubuntu, tidak yakin tentang OS X. Saya tidak mengetahui adanya fileutilitas pada Windows.

CATATAN : Segera setelah ada .cpgfile yang sesuai yang menunjukkan pengkodean, ogr2ograkan menghormatinya dan hasilnya akan berada di UTF-8. Tetapi jika output CSV terlihat benar, Anda tahu bahwa informasi dalam .cpgfile tersebut akurat.

krlmlr
sumber