插个广告,制作ArcGIS的Tool工具学习下面的教程就对了:
零基础学习Python制作ArcGIS自定义工具观看链接
《零基础学习Python制作ArcGIS自定义工具》课程简介

2019年4月 拓展:

ArcGis——好好的属性表,咋就乱码了呢?

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打开中文乱码的解决方法的更多相关文章

  1. 【IntelliJ IDEA】从资源文件读取出来就中文乱码的解决方法

    在application.properties资源文件中设置两个自定义的属性以及属性值: com.sxd.name = "德玛西亚" com.sxd.want = "王者 ...

  2. 下载的js文件本地编辑器打开中文乱码如何解决

    今天遇到的小问题,已解决,直接上图 下载直接打开是这样的 用记事本打开 另存为utf-8格式 正常了!

  3. postgresql 导出csv格式的数据后使用excel打开中文乱码的问题

    两种方法: 1>使用excel 的自文本导入功能,具体方法: 1) 打开 Excel 2) 执行“数据”->“自文本” 3) 选择 CSV 文件,出现文本导入向导 4) 选择“分隔符号”, ...

  4. Latex文件分别用Texwork和Winedt打开时,产生中文乱码的解决方法

    中文兼容方法(能保证编译成功) \usepackage{CJK} \begin{document} \begin{CJK}{GBK}{kai} ... 中文 ... \end{CJK} \end{do ...

  5. 解决Arcgis10.2.2中dbf文件用EXCEL打开乱码问题

    1.开始 -- 运行,输入”Regedit“,打开 注册表 . 2.如是用的是 10.x 版本 ArcGIS Desktop,定位到 ‘计算机\HKEY_CURRENT_USER\Software\E ...

  6. 在ASP.NET中,IE与Firefox下载文件带汉字名时乱码的解决方法

    解决办法: HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Buffer = true; HttpContext. ...

  7. JSP表单提交出现中文乱码的解决方法

    1)post方式 在servlet的doGet( )  doPost( )  中增加以下代码: response.setContentType("text/html;charset=utf- ...

  8. 如何将Excel表批量赋值到ArcGIS属性表

    情景再现 现需要将Excel表信息批量赋值(不是挂接)到Shp文件的属性表,两张表的字段.记录数一模一样,至于为什么会出现这样的问题,咱也不敢问,只有想个法子把它搞定! 原始的Excel信息表共57列 ...

  9. PHP 导出 CSV 文件用 Excel 打开出现中文乱码

    本篇文章由:http://xinpure.com/php-export-csv-file-opened-by-excel-appear-garbled/ 乱码情况 写了一段导出 CSV 文件的代码,可 ...

随机推荐

  1. python 完整项目开发流程

    1. 安装 python    2. 安装virtualenvwrapper    3. 虚拟环境相关操作    4. 进入虚拟环境, 安装django    5. 安装编辑器    6. 安装mys ...

  2. 聚类——GMM

    聚类——认识GMM算法 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 一.GMM概述 二.GMM算法步骤 三.具体推导参考文献 1. 李航. 统计学习 ...

  3. WPF中窗体最大化问题处理

    遇到的问题信息 问题:当WindowStyle=None时,窗口最大化,不显示任务栏 -- 即窗体是全屏效果. 解决中遇到的问题列表[主要涉及到任务栏发生改变后的一些问题处理]: 最大化时,任务栏被遮 ...

  4. Python 函数调用&定义函数&函数参数

    一.函数调用 在python中内置了很多函数,我们可以直接调用 .想要调用函数首先要知道函数的名称及包含的参数,还可以通过查看python官方的文档:https://docs.python.org/3 ...

  5. CSS---文档流布局 | 脱标-postion-zindex | 脱标-浮动

    一.css文档流布局概念 1.1,什么是标准文档流 1.2,标准文档流下有哪些微观现象 二.CSS---position属性 2.1,position:relative 2.2,position:fi ...

  6. Python开发【第三篇】基本数据类型

    整型 int __author__ = 'Tang' # 将字符串转换为数字 a = " b = int(a) # 前面是0的数转换,默认base按照十进制 a = " b = i ...

  7. axios请求本地的json文件在打包部署到子目录域名下,路径找不到

    前言: 因为要同时部署两个项目,有一个是部署到域名下面的子目录下,如:https://xxx.com/siot-admin vue 项目中使用axios请求了本地项目的static文件夹下的json文 ...

  8. STM32 FSMC使用笔记

    最近在使用STM32的FSMC与FPGA做并行通信总线控制,做一下总结 1,利用FSMC读取写入16位数据时的封装函数如下,不这样使用的话在与FPGA进行通信的过程中可能会出现不可预知的错误. #de ...

  9. P1273 有线电视网

    题目描述 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树的内部节点. 从转播站到转播站以及从 ...

  10. BJOI2019做题笔记

    奥术神杖(分数规划.AC自动机) 发现我们要求的东西很像一个平均数(实际上就是几何平均数),那么我们现在考虑一种运算,使得乘法能够变成加法.开根可以变成除法,不难想到取对数满足这个条件.我们对\(\s ...