簡易印刷機能Python2.7印刷Unicode文字列: 'ASCII' コーデックが文字をエンコードすることはできません...序ない範囲内(128)
このTODO(u'api servisleri için input check decorator gerekiyor')
のように呼ばれる
def TODO(message):
print(type(message))
print(u'\n~*~ TODO ~*~ \n %s\n ~*~\n' % message)
このエラー
<type 'unicode'>
Traceback (most recent call last):
File "/srv/www/proj/__init__.py", line 38, in <module>
TODO(u'api servisleri için input check decorator gerekiyor')
File "/srv/www/proj/helpers/utils.py", line 33, in TODO
print(u'\n~*~ TODO ~*~ \n %s\n ~*~\n' % message)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe7' in position 32: ordinal not in range(128)
で結果しかし、それはipythonコンソールで動作します
In [10]: TODO(u'api servisleri için input check decorator gerekiyor')
<type 'unicode'>
~*~ TODO ~*~
api servisleri için input check decorator gerekiyor
~*~
これはpython 2.7.12で動作しますが、2.7.9では何とか失敗します。
私はここで間違っていますか?
編集:フラスコアプリケーションで呼び出されたときに機能が失敗し、Pythonコンソールで機能します。
コマンドラインから複数のバージョンのPython 2.6.6,2.7.9,2.7.10、および2.7.13であなたのコードを試したところ、コードはうまくいきました。 – 2ps
コンソールのロケールが壊れており、デフォルトでASCIIになっているようです。あなたはどのOSを使用していますか? –
私はあなたがUn * xシステムにいると仮定します。参照:http://stackoverflow.com/a/35839964/1554386 –