我得到了这个错误:
当尝试简单打印一些日语文本时,实际上字符串看起来像这样:
\u5149\u66dc\u65e5\u3067\u30e9\u30c6 \u30d4\u30af\u30b7\u30fc\u4e71\u7372\u884c\u304d\u307e\u3059 \u5e0c\u671b\u8005\u52df\u96c6\u4e2d\u3067\u3059\uff3e\uff3e 它是从JSON文件中获取的。如何打印这个字符串?
代码:
File "run.py", line 37, in <module>
print str1
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 24-29: ordinal not in range(256)
当尝试简单打印一些日语文本时,实际上字符串看起来像这样:
\u5149\u66dc\u65e5\u3067\u30e9\u30c6 \u30d4\u30af\u30b7\u30fc\u4e71\u7372\u884c\u304d\u307e\u3059 \u5e0c\u671b\u8005\u52df\u96c6\u4e2d\u3067\u3059\uff3e\uff3e 它是从JSON文件中获取的。如何打印这个字符串?
代码:
url = "http://www.blah.com/json"
try:
result = simplejson.load(urllib2.urlopen(url))
except IOError:
print "Cannot open URL"
data = "error"
for msg in result["msg"]:
str1 = msg["character"] + " : " + msg["message"]
print str1
repr(str1) 是
u'Anys : \u5149\u66dc\u65e5\u3067\u30e9\u30c6 \u30d4\u30af\u30b7\u30fc\u4e71\u7372\u884c\u304d\u307e\u3059 \u5e0c\u671b\u8005\u52df\u96c6\u4e2d\u3067\u3059\uff3e\uff3e'
打印(sys.stdout.encoding)是
ISO-8859-1
repr(str1)
和print(sys.stdout.encoding)
。 - unutbu