कुछ यूनिकोड प्रतीकों को जावा में प्रदर्शित क्यों नहीं किया जाएगा?
विभिन्न भाषाओं के वर्णों को एन्कोडिंग और प्रदर्शित करने का मतलब एक ही परियोजना के भीतर कई अलग-अलग स्वरूपण प्रणालियों के बीच काम करना था। भले ही यूनिकोड की शुरूआत ने इस समस्या को तकनीकी रूप से हल कर दिया हो, फिर भी आप ऐसी परिस्थितियों का सामना कर सकते हैं जिनमें आपके या यूनिकोड के कुछ पात्र जावा प्रोग्राम में ठीक से प्रदर्शित नहीं होंगे। यह प्रदर्शन वस्तुओं को सही ढंग से कॉन्फ़िगर नहीं करने का परिणाम है।
यूनिकोड प्रणाली
यूनिकोड मानक हर भाषा में हर वर्ण का प्रतिनिधित्व करने के लिए अक्षरों और संख्याओं से मिलकर एक अद्वितीय कोड निर्दिष्ट करके काम करता है जो मानक का समर्थन करता है। हालाँकि, यूनिकोड मानक का समर्थन करने वाली भाषाओं की संख्या के कारण, हर सिस्टम में हर भाषा के लिए यूनिकोड सेट नहीं है। यदि किसी कंप्यूटर में किसी दिए गए भाषा के लिए समर्थन नहीं है, तो वह अपने यूनिकोड वर्णों को या तो प्रश्न चिह्न के रूप में प्रदर्शित करेगा या एक कोड बनाने वाले वास्तविक अक्षरों और संख्याओं के रूप में।
कमांड लाइन
यदि आप ग्राफ़िकल यूज़र इंटरफ़ेस घटकों की एक अलग लाइब्रेरी के बिना अपने टर्मिनल या कमांड लाइन के माध्यम से जावा चला रहे हैं, तो आपका "system.out.println ()" विधि डिफ़ॉल्ट रूप से यूनिकोड का उपयोग नहीं कर सकता है। यह इसे यूनिकोड वर्णों को पढ़ने या प्रदर्शित करने से रोक सकता है। आप सिंटैक्स "PrintStream out = new PrintStream (System.out, true, 'UTF-8') का उपयोग करके अपने" Println () विधि "को सही ढंग से यूनिकोड वर्ण प्रदर्शित कर सकते हैं;" एक नई वस्तु उदाहरण बनाने के लिए जो यूनिकोड का उपयोग करता है। इस सिंटैक्स के बाद, अपने यूनिकोड वर्णों को प्रिंट करने के लिए "out.println ()" कमांड का उपयोग करें (पूरे लेख में बाहरी उद्धरणों को अनदेखा करें)।
स्थानों
जावा वर्चुअल मशीन "लोकेशन" नामक विशेष भाषा वस्तुओं की एक प्रणाली के माध्यम से यूनिकोड समर्थन को संभालती है। ये मुद्रा प्रणाली, संख्या और अन्य वर्णों के लिए मानक सेटिंग्स के साथ यूनिकोड भाषा समर्थन को जोड़ती हैं जो एक क्षेत्र से दूसरे क्षेत्र में बदलती हैं। यदि आप एक अलग स्थान या फ़ॉन्ट समूह निर्दिष्ट नहीं करते हैं, तो JVM उस भाषा के आधार पर एक लोकल लोड करेगा जो ग्राहक के ऑपरेटिंग सिस्टम वर्तमान में उपयोग कर रहा है। यदि लोकेल की डिफ़ॉल्ट भाषा सेट यूनिकोड सेट का समर्थन नहीं करता है तो आपका प्रोग्राम उपयोग करने की कोशिश कर रहा है, प्रोग्राम यूनिकोड वर्णों को प्रदर्शित करने में सक्षम नहीं होगा।
झूला फ़ॉन्ट
यदि एक स्विंग GUI घटक यूनिकोड वर्णों को ठीक से प्रदर्शित करने में विफल हो रहा है, तो घटक जो डिफ़ॉल्ट रूप से उपयोग कर रहे हैं, आपके द्वारा उपयोग किए जा रहे विशिष्ट वर्णों या भाषा के लिए समर्थन नहीं हो सकता है। आप वाक्यविन्यास "फ़ॉन्ट कस्टम-फ़ॉन्ट = नया फ़ॉन्ट ('फ़ॉन्ट-नाम')" का उपयोग करके एक नया फ़ॉन्ट ऑब्जेक्ट बनाकर इस समस्या को हल कर सकते हैं; जहां "कस्टम-फ़ॉन्ट" और "फ़ॉन्ट-नाम" आपके द्वारा उपयोग किए जाने वाले नए फ़ॉन्ट के नाम होंगे। ये Serif, Arial या Lucida Grande जैसे फॉन्ट हो सकते हैं। वाक्य रचना में, "कस्टम-फ़ॉन्ट" वह नाम है जिसे आप फ़ॉन्ट ऑब्जेक्ट दे रहे हैं। वाक्यविन्यास "ऑब्जेक्ट-name.setFont (कस्टम-फ़ॉन्ट);" एक स्विंग घटक के लिए नया फ़ॉन्ट असाइन करेगा। इस कोड में, "ऑब्जेक्ट-नेम" स्विंगिंग ऑब्जेक्ट का नाम है जो आपके यूनिकोड पाठ को प्रदर्शित कर रहा है।