zoukankan      html  css  js  c++  java
  • ArcGis 属性表.dbf文件使用Excel打开中文乱码的解决方法

    插个广告,制作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。可以拖到Excel打开,如果出现乱码情况,根据下文的说明操作。

    而从 ArcGIS Desktop 10.2.1 版本以及之后的版本,产生的shapefile是Unicode的,编码规则是 UTF-8 。这个dbf格式的文件可以先导入个人地理数据库(Access的.mdb),然后用Access打开,输出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_USERSoftwareESRIDesktop10.2.2CommonCodePage /v dbfDefault /t REG_SZ /d 936  /f
  • 相关阅读:
    Jmeter之检查点
    Jmeter之集合点
    Jmeter之参数化
    Jmeter组件认识
    Jmeter目录认识
    sts的web工程创建
    Jmeter的BeanShell脚本开发
    Jmeter插件开发
    Appium配置app老是反复安装问题的处理
    eclipse通过git代码的下载和上传
  • 原文地址:https://www.cnblogs.com/yzhyingcool/p/10267716.html
Copyright © 2011-2022 走看看