为了账号安全,请及时绑定邮箱和手机立即绑定

from __future__ import unicode_literals 关于字符串统一为Unicode问题

from __future__ import unicode_literals

print '你好'

出现以下代码错误:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

随即在网上查找了原因:

并修改如下:

import sys
sys.getdefaultencoding('utf-8')

print '你好'

则出现如下错误:

TypeError: getdefaultencoding() takes no arguments (1 given)

网上可以传递参数,为什么我的显示不需要参数呢?


正在回答

2 回答

>>> from __future__ import unicode_literals

>>> s = '你好'

>>> print isinstance(s,unicode)

True

>>> print s

你好

>>> 

我的也是2.7版本的,没问题

0 回复 有任何疑惑可以回复我~

现在统一为在最前面加注释:

#coding:utf-8

0 回复 有任何疑惑可以回复我~
#1

Ranbo_qiu 提问者

您好,这个版本是2.7.8,请问依旧可以使用 #coding: utf-8 我以为是3.x特性 请问这样能解决print "中文" 不带u参数的问题吗
2016-12-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

from __future__ import unicode_literals 关于字符串统一为Unicode问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信