在Shapefile数据中,DBF后缀的文件是用来存储矢量属性信息的数据库文件。可以使用Python、Java单独读取。
但DBF中的文本编码格式是什么呢?DBF本身并没有说明。
实际上,原始DBF标准定义中说明采用ISO8859-1编码,并且只能使用 ISO8859-1。因此,当你获得真正符合标准的 Shapefile时,它应该是 ISO8859-1编码。但很明显,这种编码格式并不适用于全球各类语言。所以,这个限制实际上已经不再使用了。
后来,ArcGIS、Geopublisher、AtlasStyler和Geoserver均采用cpg结尾的文件来定义DBF数据库使用的编码。cpg结尾文件需要与Shapefile文件同名。
所以,若发现读取的Shapefile文件属性信息是乱码,则检查是否存在cpg文件,或者尝试修改cpg文件中记录的编码格式。
常见编码格式如下:
"UTF-8", // 通用编码
"GB2312", // 简体中文
"Big5", // 繁体中文
"Shift-JIS", // 日文
"Windows-1252", // 拉丁文
"ISO-8859-1" // 西欧