您如何确定shapefile的字符集?


Answers:


9

反复试验。尝试使用Ms Excel或OpenOffice使用其他设置打开.dbf文件,直到一切正确。

请查看此帖子以获取更多线索:https : //stackoverflow.com/questions/319095/how-do-i-determine-the-character-set-of-a-string


如果对编码一无所知,则值得首先尝试使用latin1或UTF-8。
krlmlr 2015年

我已经在MS Excel中打开.dbf,并且字符正常显示。如何查看Excel正在使用/检测的编码?这样我就可以在QGIS中设置它了
user3386170

12

程序可以通过两种方法来确定shapefile的字符集。


+1指向dBase文件格式页面的链接很棒。但是,对于AFAIK,代码页从未包含在dBase III格式中。此处提到的是FoxPro格式的扩展名,该扩展名表明并非所有.dbf文件都将在其中包含代码页信息(或者,如果这样做,可能是由于在标头的可用区域中出现了垃圾字节) )。但是,如果您可以挖掘出这些信息,那仍然是一个反复试验搜索的好开始。顺便说一句,欢迎来到我们的网站!
ub

如果有信息,某些python dbf库可以读取代码页。
Paulo Scardine,2012年

5

file实用程序能够猜测文本文件的编码。使用ogr2ogr该保留原始编码转换,如果没有.cpg文件

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

输出示例:

file.csv: ISO-8859 text

我已经使用两种最常见的编码UTF-8和latin1对它进行了测试。在Ubuntu中可以直接使用,不确定OSX。我不知道fileWindows 上的实用程序。

注意:只要有一个.cpg指示编码的相应文件,ogr2ogr就会接受该编码,并且输出将以UTF-8 格式显示。但是,如果CSV输出看起来正确,则说明.cpg文件中的信息是准确的。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.