पावरहेल v5, विंडोज 8.1, पायथन 3 के तहत। ये विफल क्यों होते हैं और कैसे ठीक करें?पायथन के साथ कैसे '[System.Console] :: आउटपुट एन्कोडिंग/इनपुट एन्कोडिंग'?
[system.console]::InputEncoding = [System.Text.Encoding]::UTF8;
[system.console]::OutputEncoding = [System.Text.Encoding]::UTF8;
chcp;
"import sys
print(sys.stdout.encoding)
print(sys.stdin.encoding)
sys.stdout.write(sys.stdin.readline())
" |
sc test.py -Encoding utf8;
[char]0x0422+[char]0x0415+[char]0x0421+[char]0x0422+"`n" | py -3 test.py
प्रिंट:
अजगर में पाइपिंग डेटाActive code page: 65001
cp65001
cp1251
п»ї????
हर कार्यक्रम का अपना stdin है/stdout एन्कोडिंग। कोई वैश्विक सिस्टम सेटिंग नहीं है जो किसी अन्य प्रोग्राम की सेटिंग्स को ओवरराइड कर सकती है, इसलिए जो भी आप PowerShell में सेट करते हैं वह केवल PowerShell को प्रभावित करता है। यदि संभव हो, तो अपने पायथन स्टडीन एन्कोडिंग को मैन्युअल रूप से सेट करें। मुझे लगता है कि इसके लिए बहुत सारे उदाहरण होना चाहिए। – wOxxOm
@wOxxOm क्या पाइथन के लिए कुछ सम्मेलन हैं? ऐसा लगता है कि यह सिस्टम सिस्टम से स्टडआउट एन्कोडिंग प्राप्त करता है। लेकिन क्यों नहीं stdin? – Artyom
मेरा मुद्दा यह है कि प्रत्येक कार्यक्रम अपने ही ह्यूरिस्टिक्स और तर्क का उपयोग करता है, इसलिए जो भी आप PowerShell में सेट करते हैं वह stdin के पायथन के हैंडलिंग पर लागू नहीं होता है। खैर, आम तौर पर। पायथन 3 स्मार्ट होने और stdin एन्कोडिंग अनुमान लगाने की कोशिश करता है, लेकिन आप निश्चित रूप से * उस पर भरोसा नहीं कर सकते हैं। जैसा कि मैंने कहा कि उदाहरणों के बहुत सारे होना चाहिए कि पायथन में stdin एन्कोडिंग कैसे सेट करें। – wOxxOm