我现在已经阅读了一些关于 unicode 的主题。
我正在使用 Python 2.7.2,但使用了未来的 print_function(因为原始的 print 语句对我来说很混乱......)
所以这里有一些代码:
# -*- coding: L9 -*-
from __future__ import print_function, unicode_literals
现在如果我打印类似的东西
print("öäüߧ€")
它完美地工作。但是,是的,我对 python 完全陌生,如果我声明一个将打印 unicode 字符串的函数,它会破坏我的脚本
def foo():
print("öäü߀")
foo()
Traceback (most recent call last):
File "C:\Python27\test1.py", line 7, in <module>
foo()
File "C:\Python27\test1.py", line 5, in foo
print("÷õ³▀Ç")
File "C:\Python27\lib\encodings\cp850.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\x80' in position 4: character maps to <undefined>
一般来说,处理此错误和 unicode 的最佳方法是什么?我应该坚持使用 2.7 print 语句吗?