在使用Arcpy编程时,由于python版本或安装环境的问题,脚本运行期间可能会出现与字符串编码相关的错误,主要表现在含中文字符的字符串上,例如UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128),对于这种错误,解决方法如下:
文件头部声明编码方式
脚本的第一行添加注释:
# coding:utf-8
文件编码全部采用UTF-8编码
字符串编码声明
字符串在赋值时声明编码方式:
name='城市用地'.decode('utf-8')
最有用的方法
在脚本前面导入sys模块,添加如下代码:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')