matlab打开excel乱码,ArcGis 属性表.dbf文件使用Excel打开中文乱码的解决方法
轉自: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行
以下是原文:
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
總結
以上是生活随笔為你收集整理的matlab打开excel乱码,ArcGis 属性表.dbf文件使用Excel打开中文乱码的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 库存数量控制中储备定额方法的改进与实现
- 下一篇: 为文件添加everyone权限