#1 楼
反复试验。尝试使用Ms Excel或OpenOffice使用不同的设置打开.dbf文件,直到一切正确为止。查看此帖子以获取更多线索:https://stackoverflow.com/questions/319095/如何确定字符串的字符集
#2 楼
程序可以使用两种方法来确定shapefile的字符集。第一种是代码页文件* .cpg。
第二种是代码页信息,可以在dbase文件中。可以在http://www.clicketyclick.dk/databases/xbase/format/dbf.html#DBF_STRUCT
找到该规范
评论
+1指向dBase文件格式页面的链接很棒。但是,对于AFAIK,代码页从未包含在dBase III格式中。此处提到的是FoxPro格式的扩展名,该扩展名表明并非所有.dbf文件都将在其中包含代码页信息(或者,如果这样做,可能是由于在标头的可用区域中出现了垃圾字节) )。但是,如果您可以挖掘出这些信息,那仍然是一个反复试验搜索的好开始。顺便说一句,欢迎来到我们的网站!
– hu
2011年7月20日在13:33
如果有信息,某些python dbf库可以读取代码页。
– Paulo Scardine
2012年8月6日19:19
#3 楼
file
实用程序能够猜测文本文件的编码。如果没有ogr2ogr
文件,请使用.cpg
进行转换以保留原始编码:ogr2ogr -f CSV file.csv file.dbf
file file.csv
示例输出:
file.csv: ISO-8859 text
我已经使用两种最常见的编码UTF-8和latin1对它进行了测试。在Ubuntu上可以直接使用,不确定OSX。我不知道Windows上的
file
实用程序。 .cpg
将兑现它,并且输出将为UTF-8。但是,如果CSV输出看起来正确,则说明您知道ogr2ogr
文件中的信息是准确的。#4 楼
另一个将* .dbf的第29个字节转换为代码页的表:http://webhelp.esri.com/arcpad/8.0/referenceguide/index.htm#locales/task_code.htm
评论
如果对编码一无所知,则值得首先尝试使用latin1或UTF-8。
– krlmlr
15年3月29日在16:00
我已经在MS Excel中打开.dbf,并且字符正常显示。如何查看Excel正在使用/检测的编码?这样我就可以在QGIS中进行设置...
–user3386170
18年5月24日在18:36