解決ArcPy腳本工具中文亂碼問題


ArcPy是一個很香的地理空間數據庫處理模塊,但它必須依賴ArcGIS和Python環境,由於常用的ArcGIS版本默認支持的是Python2.7,它對中文支持並不好,因此,編碼問題是入門時必須解決的問題。

這里不細說ASCII、GB2312、Unicode、UTF-8的區別,可自行百度之;Python2和Python3系統默認編碼分別是ASCII和UTF-8。往往編寫的腳本能正常執行,但制作成共享的ToolBox工具就報編碼問題:EOL while scanning string literal

這是因為代碼中包含了中文,而編碼不能正確識別,以至於最初想到的解決方案是全寫英文注釋和字符串。

解決方案

通過設置編碼,可正常使用中文進行注釋和消息輸出。

分享下面的解決方案給大家:

(1)文件中包含中文,首先編碼必須支持,在py 文件最前面指定編碼;

# -- coding:cp936 –

(2)文件保存的編碼必須以ANSI,即系統默認編碼保存,使用UTF-8編碼的中文不會被系統默認編碼(cp936)所識別。

注意:使用vs code等編輯器保存py文件時,注意編碼的選擇。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM