पहिलो अवस्था: फाइल ठीक छ, देखाउँदा मात्र �
नेपालीका लागि चलनचल्तीको कुनै पुरानो कोड पेज छैन, त्यसैले अरू भाषाको तुलनामा यो अवस्था कम हुन्छ। कुनै प्रोग्रामले फाइल गलत इन्कोडिङमा पढ्दा वा टेक्स्ट कुनै अक्षरको बीचमा काटिँदा � देखिन्छ। UTF-8 मा हरेक नेपाली अक्षर तीन बाइटको हुन्छ। अधुरो अक्षरलाई प्रोग्रामले देखाउँदा मात्र � बनाउँछ। अर्को प्रोग्रामले त्यही फाइल सही देखाउँछ भने फाइलमा सही बाइट छन्।
समाधान: मूल फाइल माथिको बक्समा तान्नुहोस्। Mojibuster ले पढ्दा इन्कोडिङ चिन्छ र फाइल UTF-8 मा सेभ गर्छ। ध्यान दिनुहोस्: फाइल नै राख्नुहोस्, प्रोग्रामबाट टेक्स्ट कपी नगर्नुहोस् – कपी गर्दा � सधैंका लागि रहन्छ।
दोस्रो अवस्था: ? वा � टेक्स्टमै सेभ भइसके
कुनै प्रोग्रामले टेक्स्ट ? वा � सहित सेभ गरेको वा अगाडि पठाएको छ भने मूल अक्षर हराइसके। प्रोग्रामले ? तब राख्छ जब अक्षर लक्ष्य इन्कोडिङमा हुँदैन – र ASCII, latin1 वा Windows-1252 मा एउटै पनि देवनागरी अक्षर छैन। त्यसैले नेपालीमा यो धेरै सामान्य छ: पूरै शब्द ????? बन्छ।
यस्ता अक्षर फर्काउन सकिँदैन, किनकि हरेक अक्षर एउटै चिह्न बनिसक्यो। Mojibuster ले अनुमान लगाउँदैन, बरु कति ठाउँ प्रभावित छन् भनेर बताउँछ। मद्दत स्रोतबाट मात्र पाइन्छ: फेरि एक्सपोर्ट गर्नुहोस् वा ब्याकअप प्रयोग गर्नुहोस्।
??? कहाँबाट आउँछ
- MySQL: स्तम्भ वा कनेक्सन
latin1मा छ, तर डेटा UTF-8 मा आउँछ। त्यसपछि MySQL ले नेपाली अक्षरको सट्टा?राख्छ – हेर्नुहोस् MySQL र phpMyAdmin। - PHP वेबसाइट: डेटाबेस कनेक्सन
utf8mb4बिना खोलिएको छ, जस्तै PDO DSN माcharset=utf8mb4छैन। त्यसपछि फारमबाट आएको नेपाली डेटाबेसमा????बनेर पुग्छ। - Excel: Save As मा CSV UTF-8 (Comma delimited) छान्नुहोस्। साधारण CSV (Comma delimited) ले नेपाली राख्न सक्दैन र हरेक अक्षरलाई
?बनाउँछ – हेर्नुहोस् Excel र CSV मा नेपाली। - PowerShell 5.1:
Export-Csvले पूर्वनिर्धारित रूपमा ASCII लेख्छ र नेपालीलाई?बनाउँछ – हेर्नुहोस् PowerShell। - Python:
encode('ascii', errors='replace')ले केही नभनी अक्षरलाई?बनाउँछ – हेर्नुहोस् Python र pandas। - Notepad, Save As → ANSI: ANSI मा देवनागरी छैन, त्यसैले नेपाली
?बनेर सेभ हुन्छ। सधैं UTF-8 छान्नुहोस्। - Windows कन्सोल: cmd ले नचिनेका अक्षरलाई
?देखाउँछ। प्रायः देखाइ मात्र गलत हुन्छ, फाइल होइन।
तपाईंको अवस्था कुन हो?
- फाइललाई इन्कोडिङ देखाउने एडिटरमा खोल्नुहोस्, जस्तै Notepad++। त्यहाँ नेपाली सही देखिन्छ भने यो पहिलो अवस्था हो।
- फाइल Mojibuster मा राख्नुहोस्। नेपाली अक्षर फर्किए भने फाइल ठीकै थियो।
- Mojibuster ले हराएका अक्षरबारे बतायो भने यो दोस्रो अवस्था हो। त्यसपछि नयाँ एक्सपोर्टले मात्र काम गर्छ।
प्रश्नचिह्नको सट्टा नेपाल जस्ता चिह्न देखिन्छन् भने त्यो अर्कै गल्ती हो, र प्रायः सधैं ठीक हुन्छ: मोजिबाके के हो। टेक्स्ट g]kfn जस्तो अंग्रेजी अक्षरमा देखिन्छ भने त्यो प्रीति फन्टमा टाइप गरिएको हो – प्रीतिबाट युनिकोड मा बदल्नुहोस्।
धेरै सोधिने प्रश्नहरू
के Mojibuster ले ??? लाई फेरि नेपाली अक्षर बनाउन सक्छ?
सक्दैन। एउटा ? जुनसुकै अक्षरको ठाउँमा हुन सक्छ, जानकारी हराइसकेको छ। Mojibuster ले त्यस्ता ठाउँ छुँदैन, तर कति छन् भनेर बताउँछ।
एउटा प्रोग्राममा � देखिन्छ, अर्कोमा सबै ठीक – किन?
त्यसो भए फाइल ठीक छ, एउटा प्रोग्रामले मात्र गलत इन्कोडिङमा पढिरहेको छ। Mojibuster बाट फाइल UTF-8 मा सेभ गर्नुहोस्, त्यसपछि दुवै प्रोग्रामले सही देखाउँछन्।
� चिह्न के हो?
यो replacement character U+FFFD हो। कुनै बाइटलाई अक्षरको रूपमा पढ्न नसक्दा प्रोग्रामले यो राख्छ। यो इन्कोडिङ गल्तीको संकेत हो, टेक्स्टको भाग होइन।