मेरा एक पालतू जानवर बहुत सारे सॉफ्टवेयर प्रोजेक्ट्स को देख रहा है जिनमें कैरेक्टर सेट सपोर्ट के लिए कोड्स के पहाड़ हैं। मुझे गलत मत समझो, मैं सभी के लिए अनुकूल हूं, और मुझे खुशी है कि पाठ संपादकों ने आपको कई चरित्र सेटों में फ़ाइलों को खोलने और सहेजने दिया। मुझे क्या गुस्सा आता है कि गैर-सार्वभौमिक चरित्र एन्कोडिंग के प्रसार को "समस्या" के बजाय "उचित यूनिकोड समर्थन" कहा जाता है।
उदाहरण के लिए, मुझे PostgreSQL और उसके चरित्र सेट समर्थन पर लेने दें । PostgreSQL दो प्रकार के एनकोडिंग से संबंधित है:
- क्लाइंट एन्कोडिंग: क्लाइंट और सर्वर के बीच संचार में उपयोग किया जाता है।
- सर्वर एन्कोडिंग: पाठ को आंतरिक रूप से डेटाबेस में संग्रहीत करने के लिए उपयोग किया जाता है।
मैं समझ सकता हूं कि बहुत सारे ग्राहक एनकोडिंग का समर्थन करना एक अच्छी बात क्यों है। यह उन ग्राहकों को सक्षम बनाता है जो यूटीएफ -8 में पोस्टग्रेक्यूएल के साथ संचार करने के लिए खुद को रूपांतरण करने की आवश्यकता के बिना संचालित नहीं करते हैं। मुझे क्या नहीं मिलता है: PostgreSQL कई सर्वर एनकोडिंग का समर्थन क्यों करता है ? डेटाबेस फ़ाइलें (लगभग हमेशा) एक PostgreSQL संस्करण से अगले तक असंगत हैं, इसलिए क्रॉस-संस्करण संगतता यहां मुद्दा नहीं है।
UTF-8 एकमात्र मानक, ASCII- संगत वर्ण सेट है जो सभी यूनिकोड कोडपॉइंट्स को एन्कोड कर सकता है (यदि मैं गलत हूं, तो मुझे बताएं)। मैं इस शिविर में हूं कि UTF-8 सबसे अच्छा चरित्र सेट है, लेकिन मैं अन्य सार्वभौमिक चरित्र सेट जैसे UTF-16 और UTF-32 के साथ रखने को तैयार हूं।
मेरा मानना है कि सभी गैर-सार्वभौमिक चरित्र सेटों को हटा दिया जाना चाहिए। वहाँ कोई सम्मोहक कारण वे नहीं होना चाहिए?