ArcGis 属性表.dbf文件使用Excel打开中文乱码的解决方法
插个广告,制作ArcGIS的Tool工具学习下面的教程就对了:
零基础学习Python制作ArcGIS自定义工具观看链接
《零基础学习Python制作ArcGIS自定义工具》课程简介
2019年4月 拓展:
2019年3月27日补充:
在ArcMap10.3+(根据官网描述应该是,作者测试使用10.5,可行)以后的版本,可以使用ArcToolbox工具导出Excel,而不出现乱码。
工具位置ConversionTools——Excel——Table to Excel
.xls最大65536行,.xlsx最大1048576行

以下是原文:
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打开后,有时会出现中文字段乱码的情况,就下图的样子。

这是什么原因呢?出现这种情况的原因一般是你的Excel跑到外国去了,对,它崇洋媚外了,不认识这个编码了。
解决方法
先去验证一下,打开Excel——【文件】——【选项】——【语言】,看看编辑语言

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

看结果

对于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安装。


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
ArcGis 属性表.dbf文件使用Excel打开中文乱码的解决方法的更多相关文章
- 【IntelliJ IDEA】从资源文件读取出来就中文乱码的解决方法
在application.properties资源文件中设置两个自定义的属性以及属性值: com.sxd.name = "德玛西亚" com.sxd.want = "王者 ...
- 下载的js文件本地编辑器打开中文乱码如何解决
今天遇到的小问题,已解决,直接上图 下载直接打开是这样的 用记事本打开 另存为utf-8格式 正常了!
- postgresql 导出csv格式的数据后使用excel打开中文乱码的问题
两种方法: 1>使用excel 的自文本导入功能,具体方法: 1) 打开 Excel 2) 执行“数据”->“自文本” 3) 选择 CSV 文件,出现文本导入向导 4) 选择“分隔符号”, ...
- Latex文件分别用Texwork和Winedt打开时,产生中文乱码的解决方法
中文兼容方法(能保证编译成功) \usepackage{CJK} \begin{document} \begin{CJK}{GBK}{kai} ... 中文 ... \end{CJK} \end{do ...
- 解决Arcgis10.2.2中dbf文件用EXCEL打开乱码问题
1.开始 -- 运行,输入”Regedit“,打开 注册表 . 2.如是用的是 10.x 版本 ArcGIS Desktop,定位到 ‘计算机\HKEY_CURRENT_USER\Software\E ...
- 在ASP.NET中,IE与Firefox下载文件带汉字名时乱码的解决方法
解决办法: HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Buffer = true; HttpContext. ...
- JSP表单提交出现中文乱码的解决方法
1)post方式 在servlet的doGet( ) doPost( ) 中增加以下代码: response.setContentType("text/html;charset=utf- ...
- 如何将Excel表批量赋值到ArcGIS属性表
情景再现 现需要将Excel表信息批量赋值(不是挂接)到Shp文件的属性表,两张表的字段.记录数一模一样,至于为什么会出现这样的问题,咱也不敢问,只有想个法子把它搞定! 原始的Excel信息表共57列 ...
- PHP 导出 CSV 文件用 Excel 打开出现中文乱码
本篇文章由:http://xinpure.com/php-export-csv-file-opened-by-excel-appear-garbled/ 乱码情况 写了一段导出 CSV 文件的代码,可 ...
随机推荐
- 详解 CORS跨域的几种不同实现方式
CORS 定义 CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing),它允许浏览器向跨源服务器,发出XMLHttpRequ ...
- RabbitMQ远程执行任务RPC。
如果想发一条命令给远程机器,再把结果返回 这种模式叫RPC:远程过程调用 发送方将发送的消息放在一个queue里,由接收方取. 接收方再把执行结果放在另外一个queue里,由发送方取 实际上,发送方把 ...
- koa 中间件
什么是 Koa 的中间件 通俗的讲:中间件就是匹配路由之前或者匹配路由完成做的一系列的操作,我们就可以 把它叫做中间件. 在express中间件(Middleware)是一个函数,它可以访问请求对象( ...
- day21(1)---python的内存管理
垃圾回收机制: 不能被程序访问到的数据,就称之为垃圾. 引用计数:引用计数是用来记录值的内存地址被记录的次数的 每一次对值地址的引用都可以使得该值的引用计数+1 每一次对值地址的释放都可以使得该值的引 ...
- OpenCV——图像处理入门:膨胀与腐蚀、图像模糊、边缘检测
全部外部依赖项: opencv_aruco341d.lib opencv_bgsegm341d.lib opencv_calib3d341d.lib opencv_bioinspired341d.li ...
- Java高级篇(四)——反射
之前写到了设计模式的代理模式,因为下一篇动态代理等内容需要用到反射的知识,所以在之前Java篇的基础上再写一篇有关反射的内容,还是以实际的程序为主,了解反射是做什么的.应该怎么用. 一.什么是反射 反 ...
- mongoDB操作详细
简介 它和我们使用的关系型数据库最大的区别就是约束性,可以说文件型数据库几乎不存在约束性,理论上没有主外键约束,没有存储的数据类型约束等等 关系型数据库中有一个 "表" 的概念,有 ...
- java高级-动态注入替换类Instrumentation
介绍 利用java.lang.instrument(容器类) 做动态 Instrumentation(执行容器) 是 Java SE 5 的新特性. 使用 Instrumentation,开发者可以构 ...
- Maven将远程包拉去到项目指定路径
<build> <plugins> <plugin> <artifactId>maven-dependency-plugin</artifactI ...
- Vue-router的三种传参方式
第一种传递参数:name传参 两步完成name传参并显示在模板中: 第一在router/index.js中配置name属性, routes: [ { path: '/', name: 'HelloWo ...