del sys.setdefaultencoding 因为这个site.py每次启动python解释器时会自动加载,所以main函数每次都会被执行,setdefaultencoding函数一出来就已经被删除了。 所以通过import引用进来时其实已经没有了,所以必须reload一次sys模块,这样setdefaultencoding才会为可用,才能在代码里修改解释器当前的字符编码。 当没有使用reload时:会无...
import sys sys.setdefaultencoding('utf-8') #set default encoding to utf-8 1. 2. 然后可以查看到改变已经生效 >>> import sys >>> sys.getdefaultencoding() 'utf-8 1. 2. 3. 此时运行程序,如果仍然报告之前的错误,只需要显示地设定输出的编码 print s.encode('utf-8') 1. 就可以看到正确显示。
这是Python的编码问题,设置python的默认编码为utf8 python安装目录:/etc/python2.x/sitecustomize.py 1 2 3 4 5 6 7 8 9 import sys reload(sys) sys.setdefaultencoding('utf-8') try: import apport_python_hook except ImportError: pass else: apport_python_hook.install()...
先了解setencoding():设置了默认编码为ASCIIencoding = "ascii" def setencoding():"""Set the string encoding used by the Unicode implementation. Thedefault is 'ascii', butifyou're willing to experiment, you canchangethis."""encoding = "ascii"# Default valuesetby _PyUnicode_Init()if0: # En...
2sys.setdefaultencoding('utf-8')#set default encoding to utf-8 然后可以查看到改变已经生效 1>>>importsys 2>>> sys.getdefaultencoding() 3'utf-8' 此时运行程序,如果仍然报告之前的错误,只需要显示地设定输出的编码 1prints.encode('utf-8') ...
/usr/bin/python# vim: set fileencoding=UTF-8 : 系统编码 前面说了,Python根据电脑默认的locale设置将字节转化成字符.那如何获得系统的默认编码: importsysprintsys.getdefaultencoding() 更改系统的默认编码: importsysreload(sys)sys.setdefaultencoding('UTF-8')...
sys.getdefaultencoding(): 获取系统当前编码,这里的系统指的是python自己的内置系统,并非操作系统,即3中的python编码。 sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding(‘utf8’),此时将系统默认编码设置为utf8。
sys.setdefaultencoding('utf-8') #set default encoding to utf-8 然后可以查看到改变已经生效 >>> import sys >>> sys.getdefaultencoding() 'utf-8' 此时运行程序,如果仍然报告之前的错误,只需要显示地设定输出的编码 print s.encode('utf-8') ...
# vim: set fileencoding=UTF-8 : 系统编码 前面说了,Python根据电脑默认的locale设置将字节转化成字符.那如何获得系统的默认编码: import sys print sys.getdefaultencoding() 更改系统的默认编码: import sys reload(sys) sys.setdefaultencoding('UTF-8') ...
python的解码,编码是python自动进行的,如果我们没有指明解码方式,python 就会使用 sys.defaultencoding 指明的方式来解码。python2.7的函数str()和unicode()默认将对象转成ascii编码。 但是对于中文,ascii编码是无法表示的。因此我们需要用sys.setdefaultencoding(‘utf-8’)来设置string对象默认的编码。