१. परिचय
पाइथन स्ट्रिङ प्रोसेसिङका लागि एक शक्तिशाली प्रोग्रामिङ भाषा हो र विश्वव्यापी रूपमा प्रयोग गरिन्छ। तथापि, पाइथनमा जापानी वा अन्य बहुभाषी पाठ ह्यान्डल गर्दा, सही क्यारेक्टर एनकोडिङ छनोट गर्नु महत्वपूर्ण छ। विशेष गरी, UTF-8 ले जापानी सहित धेरै भाषाहरू समर्थन गर्दछ र गडबडिएको पाठको जोखिम कम गर्दछ। यो गाइडले पाइथनमा UTF-8 एनकोडिङ ह्यान्डल गर्ने तरिका व्याख्या गर्दछ र गडबडिएको पाठ रोक्नका लागि व्यावहारिक विधिहरू प्रदान गर्दछ। यसले एनकोडिङ र डिकोडिङका आधारभूत कुराहरूबाट फाइल अपरेसन सेटिङहरू सम्मका धेरै विषयहरू कभर गर्दछ—र विन्डोज-विशेष विचारहरू र सामान्य त्रुटिहरूका समाधानहरू समावेश गर्दछ, ताकि तपाईंले यसलाई अभ्यासमा लागू गर्न सक्नुहुन्छ।
२. पाइथनमा क्यारेक्टर एनकोडिङका आधारभूत कुराहरू
क्यारेक्टर एनकोडिङका आधारभूत सिद्धान्तहरू
क्यारेक्टर एनकोडिङ भनेको क्यारेक्टरहरूलाई कम्प्युटरले बुझ्न सक्ने डाटामा रूपान्तरण गर्ने प्रक्रिया हो। उदाहरणका लागि, ‘あ’ क्यारेक्टर UTF-8 मा तीन बाइटहरूको रूपमा एनकोड गरिन्छ र बाइनरी डाटाको रूपमा प्रतिनिधित्व गरिन्छ। पाइथनमा, एनकोडिङ र डिकोडिङ str प्रकार (स्ट्रिङ) र bytes प्रकार (बाइटहरू) प्रयोग गरेर गरिन्छ।
पाइथनमा एनकोडिङ र डिकोडिङ
पाइथनमा, स्ट्रिङहरूलाई एनकोड गर्न encode() विधि प्रयोग गर्नुहोस् र बाइटहरूलाई डिकोड गर्न decode() विधि प्रयोग गर्नुहोस्। यसले पाठ डाटा र बाइट डाटाबीच रूपान्तरण गर्न अनुमति दिन्छ।
एनकोडिङ उदाहरण
निम्न उदाहरणले UTF-8 मा स्ट्रिङलाई एनकोड गर्दछ र यसलाई बाइट अनुक्रमको रूपमा प्रदर्शित गर्दछ।
text = "Using UTF-8 in Python"
encoded_text = text.encode("utf-8")
print(encoded_text)
# Output: b'Pythonã§UTF-8ã使ã'
डिकोडिङ उदाहरण
अर्को, UTF-8 एनकोड गरिएको बाइट अनुक्रमलाई मूल स्ट्रिङमा फिर्ता रूपान्तरण गर्ने तरिका यहाँ छ।
decoded_text = encoded_text.decode("utf-8")
print(decoded_text)
# Output: Using UTF-8 in Python
स्ट्रिङहरू र बाइटहरूबीच रूपान्तरण गर्ने तरिका बुझेर, तपाईंले एनकोडिङहरूलाई सही रूपमा ह्यान्डल गर्न सक्नुहुनेछ। 
३. पाइथनमा UTF-8 ह्यान्डल गर्ने
फाइल अपरेसनहरूका लागि UTF-8 निर्दिष्ट गर्ने
पाइथनमा फाइलहरूसँग काम गर्दा, UTF-8 एनकोडिङ स्पष्ट रूपमा निर्दिष्ट गर्न सिफारिस गरिन्छ। यदि तपाईंले एनकोडिङ निर्दिष्ट गर्नुभएन भने, प्लेटफर्म-निर्भर डिफल्ट एनकोडिङ प्रयोग गरिन्छ, जसले गडबडिएको पाठ निम्त्याउन सक्छ।
उदाहरण: फाइलमा लेख्ने
with open("sample.txt", "w", encoding="utf-8") as f:
f.write("Hello, Python!")
उदाहरण: फाइलबाट पढ्ने
with open("sample.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
# Output: Hello, Python!
फाइल अपरेसनहरूका लागि UTF-8 निर्दिष्ट गर्दा जापानी सहित बहुभाषी सामग्रीमा गडबडिएको पाठ रोक्न मद्दत गर्दछ।
एनकोडिङ निर्दिष्ट गर्न बिर्सने जोखिमहरू
यदि कुनै एनकोडिङ निर्दिष्ट गरिएन भने, प्रणालीको डिफल्ट एनकोडिङ प्रयोग गरिन्छ; विशेष गरी विन्डोजमा, Shift_JIS लागू हुन सक्छ, जसले गडबडिएको पाठ निम्त्याउँछ। फाइल अपरेसनहरू गर्दा, सधैं encoding="utf-8" निर्दिष्ट गर्ने बानी बसाल्नुहोस्।
४. विन्डोज वातावरणहरूका लागि विचारहरू
विन्डोजमा प्रणालीको डिफल्ट एनकोडिङ प्रायः Shift_JIS हुन्छ, र जापानी समावेश डाटा ह्यान्डल गर्दा UTF-8 निर्दिष्ट नगर्दा गडबडिएको पाठ हुन सक्छ। यहाँ हामीले UTF-8 मोड (PEP 540) र वातावरण चरहरू प्रयोग गरेर प्रतिकारहरू परिचय गराउँछौं।
PYTHONUTF8 वातावरण चर सेट गर्ने
विन्डोजमा पाइथनको एनकोडिङलाई UTF-8 मा जबरजस्ती गर्न, PYTHONUTF8 वातावरण चरलाई “1” मा सेट गर्नुहोस्। यसले सबै पाइथन फाइल अपरेसनहरूलाई UTF-8 प्रयोग गर्न बाध्य गर्दछ।
वातावरण चर सेट गर्ने तरिका
- वातावरण चरहरूको डायलग खोल्नुहोस् “वातावरण चरहरू सम्पादन गर्नुहोस्” डायलगबाट, नयाँ चर थप्नुहोस्।
- चर थप्नुहोस् चरको नामलाई “PYTHONUTF8” मा सेट गर्नुहोस् र मानलाई “१” मा सेट गर्नुहोस्।
यो सेटिङसँग, UTF-8 डिफल्ट एनकोडिङ बन्छ, फाइल अपरेसनहरूमा गडबडिएको पाठको जोखिम कम गर्दछ।
५. पाइथन ३ मा डिफल्ट एनकोडिङ परिवर्तन गर्ने
पाइथन ३.७ बाट सुरु गर्दै, -X utf8 विकल्प वा PYTHONUTF8 वातावरण चर प्रयोग गरेर UTF-8 मोड सक्षम गर्न सकिन्छ। सक्षम गर्दा, पाइथनले प्रणाली एनकोडिङको वावजुद डिफल्ट एनकोडिङको रूपमा UTF-8 प्रयोग गर्नेछ।
कमान्ड-लाइन तर्क प्रयोग गरेर UTF-8 मोड सक्षम गर्ने
python -X utf8 my_script.py
यो आदेशले Python सधैं UTF-8 एन्कोडिङ प्रयोग गर्ने सुनिश्चित गर्दछ र विभिन्न वातावरणहरूमा बिग्रिएको पाठलाई रोक्छ।

6. बिग्रिएको पाठका कारणहरू र तिनीहरूलाई कसरी समाधान गर्ने
बिग्रिएको पाठका सामान्य कारणहरू
- एन्कोडिङ असमानता
- यो तब हुन्छ जब फाइलको एन्कोडिङ Python मा निर्दिष्ट गरिएको एन्कोडिङसँग फरक हुन्छ।
- एन्कोडिङ/डिकोडिङ त्रुटिहरू
- एन्कोडिङ/डिकोडिङ त्रुटि तब उत्पन्न हुन्छ जब तपाईंले non‑UTF-8 एन्कोडिङमा एन्कोड गरिएको डेटा UTF-8 रूपमा डिकोड गर्ने प्रयास गर्नुहुन्छ।
एन्कोडिङ त्रुटिहरू कसरी ह्यान्डल गर्ने
errors="ignore" र errors="replace" प्रयोग गरेर त्रुटि ह्यान्डलिङ
# Ignore encoding errors
decoded_text = encoded_text.decode("utf-8", errors="ignore")
# Handle encoding errors by replacing
decoded_text = encoded_text.decode("utf-8", errors="replace")
तपाईंले समस्याग्रस्त क्यारेक्टरहरूलाई स्किप गर्न ignore विकल्प र प्रतिस्थापन क्यारेक्टरहरू प्रविष्ट गर्न replace विकल्प प्रयोग गरेर बिग्रिएको पाठ उत्पन्न गर्ने त्रुटिहरूलाई टाल्न सक्नुहुन्छ।
7. सारांश
Python मा UTF-8 लाई सही तरिकाले ह्यान्डल गर्नु बिग्रिएको पाठलाई रोक्न र विभिन्न प्लेटफर्महरूमा निरन्तर डेटा ह्यान्डलिङ सुनिश्चित गर्न महत्त्वपूर्ण छ। यस लेखले Python मा एन्कोडिङ र डिकोडिङको आधारभूत कुराहरू, फाइलहरूसँग काम गर्दा ध्यान दिनुपर्ने बुँदाहरू, र UTF-8 मोड कसरी सक्षम गर्ने भन्ने व्यावहारिक मार्गदर्शन प्रदान गरेको छ। यो ज्ञानलाई प्रयोग गरेर Python मा क्यारेक्टर एन्कोडिङलाई सही रूपमा कन्फिगर गर्नुहोस् र विश्वव्यापी अनुप्रयोग विकासलाई समर्थन गर्नुहोस्।



