Map2Shp软件字符编码解决方案——彻底杜绝Shape格式乱码

产品信息5年前 (2019-06-13)2648

在使用Shape文件时,如果里面有中文属性信息时,经常会遇到属性信息变为乱码。尤其是ArcGIS10.2.1之后,Esri改变了软件的默认字符编码规则,打开之前保存的Shapefile文件,总会不时遇到中文字符出现乱码现象。对此问题,网上好多建议是修改系统注册表或全局的字符编码设置,这样做固然有效,但这样会引起打开其它种类字符编码数据显示乱码的的问题;另外当我们拿到一个显示乱码的Shape数据,我们也很难猜出它本身是什么字符集的数据,使得乱码问题成为一个极其困扰的问题。
m2scode

为此,Map2Shp软件提供了专门的解决方案。转换结果输出时,可以选择Shape文件的字符编码(如图)。其中,ArcMap10.2及以前版本,中文字符默认采用ANSI编码,与操作系统默认编码格式一致,多为GBK编码方式,不会出现中文乱码,具有较广的通用性。ArcGIS10.2.1及之后版本,中文字符默认采用UTF-8编码,ArcGIS会先读取DBF头文件LDID中的编码,然后是cpg文件,最后是CodePage。Map2Shp输出UTF-8编码文件时,转换结果文件中增加一个.cpg文件,文件里面定义了dbf所使用的编码格式为UTF-8,ArcMap会读取.cpg文件来判断文件的编码,打开就不会有乱码。
ansi

总体上来说,Shape文件中文出现乱码的根本原因是读取文件使用的编码类型和文件实际存储的编码类型不一致所致,Map2Shp提供的解决方案中确保了编码信息的一致性,无论选用何种编码方式,在ArcGIS不同版本下均能够正确识别,彻底解决了中文乱码问题。
乱码

此外,由于shape文件自身限制,属性字段名称长度不能超过9个字节,而UTF-8 编码下单个汉字至少需要3个字节存储,因此UTF-8 编码下shape文件字段名称会被截断为最长3个汉字,而存在字段名称截断丢失现象。
utf8


相关文章

Map2Shp 5.x 软件命令行模式

Map2Shp 5.x 软件命令行模式

经常有人问道,在Map2Shp软件使用过程中,能否以后台隐藏模式或者命令行模式批处理Mapgis文件转换?应广大用户的要求,在即将发布的Map2Shp5.0版软件中支持命令行操作模式,命令行格式如下:...

使用Map2Shp转换MapGIS文件时的投影与坐标单位如何设置

使用Map2Shp转换MapGIS文件时的投影与坐标单位如何设置

每款GIS软件都有完备的投影变换功能,但不同软件所能支持的投影系统不完全一致。在MapGis坐标投影信息中有比例尺的概念,而ArcGIS软件空间参考信息则无此定义。Map2Shp软件在进行格式转换过程...

Q8_几何类型错误

Q8_几何类型错误

Q8:原文件错误-几何类型错误    问题说明:文件的几何类型标识错误,无法正确识别MapGIS文件处理措施:请用MapGIS软件确认是否能正确打开;如能打开用...

INFO5_转换时自动跳过错误图元

INFO5_转换时自动跳过错误图元

INFO5:第N号图元信息错误,已跳过    说明:待转换MapGIS文件的第N号图元几何信息或符号信息存在错误,转换时直接跳过该错误图元,总图元数减少。在进行...

INFO6_删除转换结果中的空文件

INFO6_删除转换结果中的空文件

INFO6:转换结果为空文件,已被删除    说明:当待转换MapGIS文件为空文件,或者点文件分离出的子图或注记文件为空文件时,转换后结果文件中无任何图元对象...

Q03_Map2Shp的几何检验功能指的什么

Q03_Map2Shp的几何检验功能指的什么

Map2Shp的几何检验功能指的什么?市面上每种GIS软件对空间几何数据都有着特殊而且严格的拓扑要求,ESRI公司Shape文件与中地Mapgis格式对空间数据的几何规则要求并不一致,因此需要对Map...