免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 3939|回复: 6
收起左侧

[技术交流] 【干货】解决ArcPy脚本工具中文乱码问题

  [复制链接]

324

主题

56万

铜板

1172

好友

等待验证会员

Rank: 1

积分
349368

宣传勋章爱心勋章组织勋章官方团队冰雪节勋章

发表于 2020-9-28 15:23 | 显示全部楼层 |阅读模式
ArcPy是一个很香的地理空间数据库处理模块,但它必须依赖ArcGIS和Python环境,由于常用的ArcGIS版本默认支持的是Python2.7,它对中文支持并不好,因此,编码问题是入门时必须解决的问题。

这里不细说ASCII、GB2312、Unicode、UTF-8的区别,可自行百度之;Python2和Python3系统默认编码分别是ASCII和UTF-8。往往编写的脚本能正常执行,但制作成共享的ToolBox工具就报编码问题:EOL while scanning string literal


微信图片_20200928150916.jpg

这是因为代码中包含了中文,而编码不能正确识别,以至于最初想到的解决方案是全写英文注释和字符串。
微信图片_20200928163937.jpg
解决方案


通过设置编码,可正常使用中文进行注释和消息输出。
微信图片_20200928164008.jpg

微信图片_20200928164036.jpg
分享下面的解决方案给大家:

(1)文件中包含中文,首先编码必须支持,在py 文件最前面指定编码;

微信图片_20200928164054.jpg

(2)文件保存的编码必须以ANSI,即系统默认编码保存,使用UTF-8编码的中文不会被系统默认编码(cp936)所识别。

微信图片_20200928164113.jpg


注意:使用vs code等编辑器保存py文件时,注意编码的选择。


文章作者:我也是个傻瓜的博客 作者博客地址:http://www.cnblogs.com/liweis/
版权归原作者所有,如有侵权请告知删除


15

主题

2万

铜板

42

好友

地信院士

努力加油

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2550

爱心勋章灌水勋章荣誉会员勋章活跃勋章贡献勋章成就学员勋章

发表于 2020-9-30 09:25 | 显示全部楼层
好,很实惠的教程
每天都在干活
回复 支持 反对

使用道具 举报

1

主题

2311

铜板

2

好友

助理工程师

Rank: 5Rank: 5

积分
168
发表于 2020-10-5 17:59 | 显示全部楼层
谢谢分享哦
回复 支持 反对

使用道具 举报

1

主题

3435

铜板

10

好友

助理工程师

Rank: 5Rank: 5

积分
252
QQ
发表于 2020-11-25 10:50 | 显示全部楼层
不错,确实存在这个问题,我都转为UTF-8
回复 支持 反对

使用道具 举报

0

主题

3153

铜板

6

好友

地信院士

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2495
发表于 2021-5-25 20:03 | 显示全部楼层
谢谢大佬提供学习机会!
回复 支持 反对

使用道具 举报

10

主题

1万

铜板

21

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3830
发表于 2021-11-10 12:57 | 显示全部楼层
谢谢分享
回复

使用道具 举报

30

主题

2万

铜板

59

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
6283
QQ
发表于 2023-3-16 17:20 | 显示全部楼层
:zt:zt:zt:zt
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表