पायथन प्रोग्राम के आउटपुट को पाइप करते समय, पायथन इंटरप्रेटर एन्कोडिंग के बारे में भ्रमित हो जाता है और इसे कोई नहीं पर सेट करता है। इसका मतलब इस तरह का एक प्रोग्राम है:
# -*- कोडिंग: utf-8 -*- Print u"√•√§√∂"
सामान्य रूप से चलने पर ठीक काम करेगा, लेकिन इसके साथ विफल हो जाएगा:
UnicodeEncodeError: "ascii" कोडेक स्थिति 0 में वर्ण u"xa0" को "एनकोड नहीं कर सकता": सामान्य श्रेणी में नहीं (128)
जब एक पाइप अनुक्रम में उपयोग किया जाता है।
पाइपिंग करते समय यह काम करने का सबसे अच्छा तरीका क्या है? क्या मैं इसे शेल/फाइल सिस्टम/जो कुछ भी एन्कोडिंग का उपयोग करने के लिए कह सकता हूं का उपयोग कर रहे हैं?
अब तक मैंने जो सुझाव देखे हैं, वे हैं आपकी site.py को सीधे संशोधित करना, या इस हैक का उपयोग करके डिफ़ॉल्ट एन्कोडिंग को हार्डकोड करना:
# -*- कोडिंग: utf -8 -*- आयात sys reload(sys) sys.setdefaultencoding("utf-8") Print u"√•√§√∂"
क्या पाइपिंग बनाने का कोई बेहतर तरीका है काम?