2017-05-22 51 views
0

我正在阅读与python 3.5 json文件。在这个文件中它有像“í”的字符。我想以这种格式打印它。如何让下面的代码正确地打印字符?Python阅读字符串'í'并打印它

t = 'í' 
print(t) 

Traceback (most recent call last): 
    File "test.py", line 15, in <module> 
    print(t) 
UnicodeEncodeError: 'ascii' codec can't encode character '\xed' in position 0: ordinal not in range(128) 
+0

[UnicodeEncodeError的可能重复: 'ASCII' 编解码器不能编码字符U位置20 '\ XA0':主要是有序不范围(128)](http://stackoverflow.com/questions/9942594/unicodeencodeerror-ascii-codec-cant-encode-character-u-xa0-in-position-20) –

+1

我不能再现这 - 它打印对于我来说足够了。你确定你在使用Python 3吗?在这种情况下,只有Python 2应该有这个错误。 –

+1

这就是你使用Python 2运行时得到的错误 – abccd

回答

0

使用unicode格式。

t = u'i' 
print(t) 

你有字符“我”这样Python理解它为Unicode之前添加u

+0

在你输入文字的情况下,这是真的。 OP的用例是从文件中读取字符串的呢? –

+0

OP想'í'不'我',它不会工作 – abccd

+0

我们可以在导入json文件时指定编码 – bigbounty

1

尝试添加# -*- coding: iso-8859-15 -*-作为源文件的第一行或第二行。

0

试试这个:

print(t.decode("utf-8")) 
0

试试这个 -

# -*- coding: utf-8 -*- 
from __future__ import unicode_literals 
t = 'í' 
print(t.encode("ascii" , "ignore"))