2008-10-20 14 views
7

मैं अपने प्रोग्राम में कुछ कहने का प्रयास कर रहा हूं (कहें) विंडोज जीडीआई और कुछ यूनिकोड वर्ण प्रश्न चिह्न के रूप में प्रदर्शित होते हैं? क्या चल रहा है?मेरा टेक्स्ट प्रश्न चिह्न के रूप में प्रदर्शित होने पर इसका क्या अर्थ है?

यह भी देखें: What does it mean when my text is displayed as boxes?

उत्तर

6

Windows में 2 सामान्य प्रदर्शन समस्याओं है कि हो जब यूनिकोड वर्ण प्रदर्शित करने के लिए कोशिश कर रहे हैं:

  1. पाठ कभी कभी प्रश्न चिह्न के रूप में प्रकट होता है

    • यह तब होता है जब यूनिकोड डेटा एक 8 में बदल जाती है -बिटी वर्ण सेट एन्कोडिंग (या तकनीकी रूप से बहु-बाइट वर्ण) आमतौर पर सिस्टम कोडपेज के माध्यम से (लेकिन अन्य कोड पेज रूपांतरण कॉल में निर्दिष्ट किए जा सकते हैं)। यदि लक्ष्य 8-बिट वर्ण सेट में वर्णों को शामिल नहीं किया गया है, तो लक्षित वर्ण सेट में प्रतिनिधित्व करने योग्य कोई भी वर्ण प्रश्न चिह्नों में परिवर्तित नहीं हो जाता है।
  2. पाठ कभी कभी लगता है जैसे बक्से

    • यह फ़ॉन्ट एक विशेष चरित्र के लिए glpyh नहीं होने के साथ एक समस्या है। बॉक्स में यूनिकोड वर्णों और फ़ॉन्ट द्वारा समर्थित लोगों के बीच मेल नहीं होने पर बॉक्स दिखाई देते हैं। विशेष रूप से, बॉक्स चयनित वर्णों द्वारा समर्थित वर्णों का प्रतिनिधित्व नहीं करते हैं।
0

मूल रूप से आप पाठ भ्रष्ट है। आप एक एन्कोडिंग में यूनिकोड टेक्स्ट ले रहे हैं और उसके बाद इसे लक्ष्य एन्कोडिंग में स्रोत टेक्स्ट में सभी वर्णों को शामिल किए बिना किसी अन्य एन्कोडिंग में परिवर्तित कर दिया है। ऐसा करने के बाद आपको गंदगी का गुच्छा मिला है।

तरीके यह करने के लिए शामिल हैं:

  1. कोड यदि जाँच के बिना
  2. एक कोड-पेज में यूनिकोड पाठ परिवर्तित (पहले एक मान्य कोड-पेज में परिवर्तित करने के बिना) का इलाज एएनएसआई के रूप में UTF-8 पाठ इस पृष्ठ में सही अक्षर हैं।
1

इसका मतलब है कि आपका यूनिकोड टेक्स्ट कहीं भी एएनएसआई पाठ में परिवर्तित हो रहा है। चूंकि लैटिन -1 के बाहर यूनिकोड वर्णों को एएनएसआई में परिवर्तित नहीं किया जा सकता है, इसलिए उन्हें प्रश्न चिह्नों में परिवर्तित कर दिया जाता है। सुनिश्चित करें कि आपका प्रोग्राम यूनिकोड समर्थन के साथ संकलित है (यानी प्रीप्रोसेसर प्रतीक यूनिकोड और _UNICODE # आपके प्रोजेक्ट द्वारा परिभाषित हैं), ताकि आप हमेशा विभिन्न विंडोज फ़ंक्शंस के उचित यूनिकोड संस्करणों को कॉल कर रहे हों।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^