Python SyntaxError: Non-ASCII character

问题描述:运行python脚本的时候,报SyntaxError: Non-ASCII character错误。

问题分析:此类问题是编码问题导致。如果开发者不指定编码方式,python会提供默认的编码方式,显然,默认编码方式是无法满足我们的需求的。

解决办法: 开发者指定编码方式

参考python提供的文档,链接为 https://www.python.org/dev/peps/pep-0263/

给予开发者可行的方法如下(以GBK编码格式为例):

1、# coding=GBK

2、 # -*- coding: GBK -*-

3、# vim: set fileencoding=GBK

以上的方法经验证可行。

其实还有其他的设置编码格式的方法,因为python设置编码格式的原理是首行的编码设置匹配coding[:=]\s*([-\w.]+),就能够设置编码方式。

所以,以下方式也是可行的:

# we set the current encoding:GBK
                 # we set the current encoding=GBK
                 所以,根据自己的喜好,可以自定义设置python能够识别的编码格式。

时间: 2024-11-03 20:59:17

Python SyntaxError: Non-ASCII character的相关文章

python syntaxerror non ascii character xe5 in file

关于Python报错:SyntaxError: Non-ASCII character '\xe5' in file的解决方法 首先想到是Eclipse 中设置Pydev编码,尝试了下面操作 我们都知道Win7默认编码是GBK,而Ubuntu下面默认是utf-8,有时候我们的代码需要在两个平台下编辑,因此我们有必要设置一下eclipse的编码,当然这并不只用于pydev,android的adt也类似的. 只是主要设置3个地方,打开eclipse的windows-preferences: cont

python SyntaxError: Non-ASCII character '\xd5' in file

在pycharm想运行程序,但是却报出了SyntaxError: Non-ASCII character '\xd5' in file 原因是因为源码中包含了中文注释,Python默认是以ASCII作为编码方式的,如果在自己的Python源码中包含了中文(或者其他的语言,如韩语日语),此时即使你把自己编写的Python源文件以UTF-8格式保存了:但实际上,这依然是不行的. 解决方法: 在源码的第一行添加如下语句: #-*- coding: UTF-8 -*- 或者 #coding=utf-8

Python 错误 UnicodeEncodeError: 'ascii' codec can't encode character 的解决方案

一.使用workbook.get_sheet_by_name(name) 获取excel一个工作表时,发生字符集解析的错误. 网上搜集解决方案为添加以下三句: import sys reload(sys) sys.setdefaultencoding("utf8") Python 错误 UnicodeEncodeError: 'ascii' codec can't encode character 的解决方案

python中的Non-ASCII character bug以及pycharm代码区突然不能编辑问题

1:pycharm代码区突然不能编辑问题 解决办法: (1)如果pycharm用的是免费试用版可能出现这种情况的原因是试用结束啦!重新下载继续使用或者购买,下载免费版都可以解决这个问题 (2)排除(1)的问题那就是软件本身在你打开的时候出现了错误!关闭以后重新开启就可以顺利解决该问题 2:python再写代码过程中当用到中文注释时候会出现Non-ASCII character  bug 控制面板中代码提示是这样的:SyntaxError: Non-ASCII character '\xe6' i

python 中UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)的解决方法

SyntaxError: Non-ASCII character '\xe6' in file出现这个问题是因为中文出现在了代码中,解决方法为在代码最上面添加:#coding:utf-8 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128) 这个问题则是在程序中写入中文时出错,解决方法为在开头添加: import sys reload(sys) sy

centos7 python 中文 “UnicodeDecodeError: 'ascii' codec can't decode byte...”解决方法

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128) 1. 开始以为是自己写的python有问题,但后来发现同样的代码在其它电脑上运行正常... 2. 按网上说的方法什么load(sys),或者加# -*- coding: utf-8 -*-的方式,虽说都知道是python2年代的东西.但就当病急乱投医了.结果依旧无效. 3. 怀疑CentOS7 的LAN

The US ASCII Character Set 对应码 可以解决 URL中的特殊符号的传输问题

The US ASCII Character Set US ASCII, ANSI X3.4-1986 (ISO 646 International Reference Version) Codes 0 through 31 and 127 (decimal) are unprintable control characters.Code 32 (decimal) is a nonprinting spacing character. Codes 33 through 126 (decimal)

【Python】UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3

问题如下: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3 解决方法: 程序开始加上下面两句 1 reload(sys) 2 sys.setdefaultencoding( "utf-8" ) 另外:当字符串里有 \n.\t.\r时,json.loads()失效,异常,要去掉 [Python]UnicodeEncodeError: 'ascii' codec can't encode c

【python】UnicodeEncodeError: 'ascii' codec can't encode/decode characters

解决方案在文件头插入 # encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8') [python]UnicodeEncodeError: 'ascii' codec can't encode/decode characters