matlab打开excel乱码,ArcGis 属性表.dbf文件使用Excel打开中文乱码的解决方法

本文介绍了ArcGIS中Shapefile文件的编码问题,包括10.2.1版本前的GBK编码导致的Excel乱码,以及10.2.1之后版本的UTF-8编码。提供了修复方法,如设置Excel编辑语言为中文,安装官方补丁修改默认编码,确保数据在不同软件间的正确显示。
摘要由CSDN通过智能技术生成

转自:https://www.cnblogs.com/yzhyingcool/p/10267716.html

2019年3月27日补充:

在ArcMap10.3+(根据官网描述应该是,作者测试使用10.5,可行)以后的版本,可以使用ArcToolbox工具导出Excel,而不出现乱码。

工具位置ConversionTools——Excel——Table to Excel

.xls最大65536行,.xlsx最大1048576行

58156da7e799f9f6140f06abf0c1d249.png

以下是原文:

ArcGis Shapefile文件的属性表信息存储于.dbf格式的文件之中,在 ArcGIS 10.2.1 之前的版本,创建 shapefile 的时候,其编码类型是ANSI,编码规则由操作系统的语言区域设置决定的,在中文操作系统下编码方式是gbk,即936。 而从 ArcGIS Desktop 10.2.1 版本以及之后的版本,产生的shapefile是Unicode的,编码规则是 UTF-8 。这个dbf格式的文件可以直接拖到一个打开的Excel文件中打开查看(可以修改,但不能保存,可以另存为Excel文件)。

对于10.2.1之前版本ArcGis创建的dbf,即GBK编码文件:

直接扔到Excel打开后,有时会出现中文字段乱码的情况,就下图的样子。

e34f9e78c0d8d80c958ee43e1f70c335.png

这是什么原因呢?出现这种情况的原因一般是你的Excel跑到外国去了,对,它崇洋媚外了,不认识这个编码了。

解决方法

先去验证一下,打开Excel——【文件】——【选项】——【语言】,看看编辑语言

b6f15720c9f74dec6d2cfd3f3aa6e475.png

纠正错误。选择中文,点击“设为默认值”,设定完成后重启一下Excel。

e2bfa1ee5023a5cf0716c5af8a22451e.png

看结果

5e6bd2699e318a3cfe51256da6f9051a.png

对于10.2.1以后的ArcGis版本

创建Shapefile默认使用UTF-8编码,所以使用Excel是打开乱码的,Excel认ANSI(中文系统下是GBK)。可以通过导出文本后转换到Excel的方式解决。

为了使创建Shapefile文件默认编码就采用GBK,可以通过安装官方补丁的方式解决。安装补丁后允许修改系统的注册表默认代码页,将代码页值改掉就可以了。

Esri官方的说明是这样的:This patch allows user sites to modify the default code page used in shapefiles to meet specific needs. At 10.2.1 the default code page was set to UTF-8 to be consistent with industry standards.

1、下载补丁

https://support.esri.com/zh-cn/downloads

进入上面链接指向的页面,检索关键词“Shapefile Default Code Page Patch” ,下载对应版本的patch安装。

210e12d7990779fb022f8b705ef59c37.png

5a319ec02aa0dc02048254e128f74ec5.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值