Arcgis加载shp文件,属性表中文字符乱码---实测有效
我是水怪的哥
编辑于 2023年03月25日 21:32
收录于文集
共18篇

在Arcgis中加载shape文件,打开属性表,显示某些字段的中文字符乱码。ArcGIS 10.2 以及更早的版本,ArcGIS写shapefile的时候,遇到中文默认使用Windows当前语言 字符集编码(也称 代码页/CodePage/OEM CodePage),例如中文一般使用的是 CodePage 936(GBK)。具体的内容可以参考:arcgis中编码方式改变引起的shp文件乱码、字符截断问题处理--CSDN

因此我们需要修改注册表里面的内容,具体的步骤如下,修改的结果如下图:

代码块
JavaScript
自动换行
复制代码
(1)Win+R,输入”Regedit“,打开 注册表。

(2)如是用的是 10.x 版本 ArcGIS Desktop,定位到 My Computer\HKEY_CURRENT_USER\Software\ESRI\Desktop 10.x. 

(3)创建项 Common, 接着在其下创建 CodePage 项, 添加 字符串 ,名称: dbfDefault ,键值: oem (或者936)。
复制成功

接着关闭保存,重启Arcgis,重新加载shp文件。注意:这一次本人按照网上的教程做了,但是结果不对,原因是我的.cpg文件出了问题,莫名其妙在936编号前多了CP,因此无法被识别。因此,大家在修改好注册表的内容后,需要检查一下这个cpg文件是不是有问题。正常应该是osm或者936。

经过修改为正确的值就可以正常读取。