คุณจะกำหนดชุดอักขระของเชพไฟล์ได้อย่างไร?


คำตอบ:


9

ลองผิดลองถูก ลองเปิดไฟล์. dbf ด้วย Ms Excel หรือ OpenOffice โดยใช้การตั้งค่าที่แตกต่างกันจนกว่าคุณจะได้รับทุกอย่างถูกต้อง

ดูที่โพสต์นี้เพื่อหาเบาะแสเพิ่มเติม: /programming/319095/how-do-i-determine-the-character-set-of-a-string


หากไม่มีอะไรรู้เกี่ยวกับการเข้ารหัสมันก็คุ้มค่าที่จะลองใช้ latin1 หรือ UTF-8 ก่อน
krlmlr

ฉันได้เปิด. dbf ใน Ms Excel และตัวอักษรปรากฏขึ้นตามปกติ ฉันจะดูได้อย่างไรว่าการเข้ารหัส Excel กำลังใช้ / ตรวจจับอยู่ เพื่อให้ฉันสามารถตั้งค่าใน QGIS ...
user3386170

12

มีสองวิธีสำหรับโปรแกรมในการกำหนดชุดอักขระสำหรับ shapefile

  • ที่แรกก็คือไฟล์เพจรหัส * .cpg
  • ประการที่สองคือข้อมูลเพจรหัสซึ่งสามารถอยู่ในไฟล์ dbase ข้อมูลจำเพาะสามารถพบได้ที่http://www.clicketyclick.dk/database/xbase/format/dbf.html#DBF_STRUCT

+1 ลิงก์ไปยังหน้ารูปแบบไฟล์ dBase นั้นยอดเยี่ยม อย่างไรก็ตาม AFAIK ไม่มีการรวมโค้ดในรูปแบบ dBase III การอ้างอิงมีส่วนขยายของ FoxPro ของรูปแบบซึ่งไม่แนะนำให้ไฟล์. dbf ทั้งหมดมีข้อมูล codepage อยู่ในนั้น (หรือถ้าเป็นเช่นนั้นอาจเป็นผลมาจากไบต์ขยะที่ปรากฏในพื้นที่ว่างของส่วนหัว ) แต่ถ้าคุณสามารถขุดข้อมูลนี้ได้ก็ยังเป็นการเริ่มต้นที่ดีสำหรับการค้นหาแบบลองผิดลองถูก BTW ยินดีต้อนรับสู่เว็บไซต์ของเรา!
whuber

python dbf libraries บางตัวสามารถอ่าน codepage ได้
เปาโล Scardine

5

fileยูทิลิตี้จะสามารถที่จะคาดเดาการเข้ารหัสของไฟล์ข้อความ ใช้ogr2ogrสำหรับการแปลงที่รักษาการเข้ารหัสต้นฉบับหากไม่มี.cpgไฟล์ :

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

ตัวอย่างผลลัพธ์:

file.csv: ISO-8859 text

ฉันทดสอบด้วยการเข้ารหัสบ่อยที่สุดสองครั้งคือ UTF-8 และ latin1 ทำงานนอกกรอบใน Ubuntu ไม่แน่ใจเกี่ยวกับ OS X ฉันไม่ทราบถึงfileอรรถประโยชน์บน Windows

หมายเหตุ : ทันทีที่มี.cpgไฟล์ที่เกี่ยวข้องซึ่งระบุการเข้ารหัสogr2ogrจะให้เกียรติมันและผลลัพธ์จะเป็น UTF-8 แต่ถ้าเอาต์พุต CSV ดูถูกต้องคุณจะรู้ว่าข้อมูลใน.cpgไฟล์นั้นถูกต้อง


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.