Arcgis10.2以后的版本经常会出现字段名及属性内容被截断的问题,甚至直接乱码。出现这种问题的根本原因是arcgis10.2之前shapeFile的dbase默认的编码格式是GBK,而更新的版本之后全部是默认UTF-8。shapeFile的字段名长度是限制在9个字符,GBK格式一个汉字占两个字符,这样可以存4个汉字,而UTF-8格式一个汉字占三个字符,所以只能存储三个汉字。所以大家经常看到被截断的字段名都是保留3个汉字。属性总的汉字乱码也是同理。
出现这种问题的直接的解决办法就是放弃shapeFile格式,毕竟是上个世纪90年代的产物了,现在应该用数据库格式。当然一下子也转变不过来的话可以用下面这个解决办法:
保存以下内容为注册表文件格式,双击写入注册表就可以了。注意替换arcgis版本为你所安装的版本号。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\ESRI\Desktop10.4.1\Common]
[HKEY_CURRENT_USER\SOFTWARE\ESRI\Desktop10..4.1\Common\CodePage]
“dbfDefault”=”oem”
“dbfDefault”=”oem”