说说arcgis的*.cpg文件

时间:2024-03-27 09:55:31

用arcgis 10.2.2 版本的用户可能会发现,在进行地理处理的时候,产生的shapeFile数据会比其他版本的多了一个*.cpg格式的文件,如果删除这个文件后还会导致arcgis的属性表的中文出现乱码的情况。

如果是碰到别人发过来的文件,打开的时候出现乱码,也多半是缺少了这个文件。

用记事本打开cpg文件,整个文件只有"UTF-8"这几个字。所以,当到别人发过来的shapeFile文件出现乱码时,用记事本输入上述字符,保存后更改扩展名为.cpg并保持名称与shapeFile相同,再启动arcmap打开文件,中文就可以正常显示了。

*.cpg这其实是一个编码配置文件,告诉arcgis在读取字符时用哪种解码方式。arcgis在解码时,会先读取这个文件信息。很明显,这里的中文解码配置文件用的UTF-8的解码方式。

要想地理处理生成的shapeFile文件不带有cpg文件,并且不出现中文乱码,需要设置arcgis的默认编码为UTF-8。具体操作如下:

1/  下载并安装补丁(patch)

进入esri官网链接:https://support.esri.com/zh-cn/downloads,检索关键词“Shapefile Default Code Page Patch” ,下载对应版本的补丁patch安装。

说说arcgis的*.cpg文件

 

 说说arcgis的*.cpg文件

2/  修改注册表

复制下面的批处理代码,粘贴到文本文档,然后把ArcGis版本改成安装的版本,保存,将文件扩展名改为.bat,双击bat即可实现注册表修改。

@ECHO OFF
IF "%1"=="" GOTO :EOF 
reg add HKEY_CURRENT_USER\Software\ESRI\Desktop10.2.2\Common\CodePage /v dbfDefault /t REG_SZ /d 936  /f