数据转换时字符被截断的问题

          随着ArcGIS版本的不断更新,很多用户都安装有比较新的ArcGIS版本。但是在数据转换时,当数据的字符超过三个字符时,转换之后的数据会自动获取前三个字符。例如,
Excel转shp的数据转换操作中,发现当字段名称超过三个中文字数时,转为shp的数据就会自动获取前三个字,无法显示完整的字段名称,而在10.2及10.2之前的版本中执行相同的操作,却能正常运行。如下图
数据转换时字符被截断的问题
转换前
数据转换时字符被截断的问题
转换后

为什么会出现这种字符被截断的问题呢?

         是因为ArcGIS 10.2之后有关shapefile存储的编码类型发生了变化。之前采用的是 CodePage 936(GBK)编码,之后采用的是 UTF-8编码。shapefile自身的限制是字段为9个字节,CP936编码下汉字通常为双字节存储,因此可以存储 9/2=4 个汉字;UTF-8 编码下汉字至少需要3个字节存储,因此最多只能存储 9/3=3 个汉字了。

怎么解决这种字符被截断的问题呢?

       首先创建一个地理数据库,然后将转换后的数据直接导出到数据库中即可。