Bir Python programının çıktısını aktarırken, Python yorumlayıcısı kodlama konusunda kafası karışır ve onu Yok olarak ayarlar. Bu şuna benzer bir program anlamına gelir:
# -*- coding: utf-8 -*- print u"åäö"
normal olarak çalıştırıldığında iyi çalışır, ancak şu hatayla başarısız olur:
UnicodeEncodeError: "ascii" codec'i 0 konumunda u"xa0" karakterini kodlayamaz: sıra, aralıkta değil (128)
bir boru dizisinde kullanıldığında.
Bunu borulama sırasında çalıştırmanın en iyi yolu nedir? Kabuk/dosya sistemini/her ne kodluyorsa onu kullanmasını söyleyebilir miyim?
Şimdiye kadar gördüğüm öneriler site.py'nizi doğrudan değiştirmek veya bu hack'i kullanarak varsayılan kodlamayı sabit kodlamaktır:
# -*- coding: utf -8 -*- import sys reload(sys) sys.setdefaultencoding("utf-8") print u"åäö"
Piping yapmanın daha iyi bir yolu var mı? çalışıyor musun?