चरित्र सेट के मुद्दों का पता लगाना अक्सर मुश्किल होता है। मूल रूप से, आपको यह सुनिश्चित करना होगा कि निम्नलिखित सभी सत्य हैं:
- डीबी कनेक्शन UTF-8 का उपयोग कर रहा है
- डीबी टेबल UTF-8 का उपयोग कर रहे हैं
- व्यक्तिगत कॉलम DB तालिकाओं में UTF-8 का उपयोग कर रहे हैं
- डेटा वास्तव में संग्रहीत है डेटाबेस के अंदर UTF-8 एन्कोडिंग में ठीक से (अक्सर ऐसा नहीं होता है यदि आपने खराब स्रोतों से आयात किया है, या तालिका या कॉलम कोलाज बदल दिया है)
- वेब पेज अनुरोध कर रहा है UTF-8
- अपाचे सर्व कर रहा है UTF-8
शुरू से अंत तक उस सूची से निपटने के बारे में एक अच्छा ट्यूटोरियल है:http:/ /www.bluebox.net/news/2009/07/mysql_encoding/
ऐसा लगता है कि आपकी समस्या विशेष रूप से है कि आपके पास डबल-एन्कोडेड (या ट्रिपल-एन्कोडेड) वर्ण हैं, शायद वर्ण सेट बदलने या गलत वर्णसेट के साथ पहले से एन्कोड किए गए डेटा को आयात करने से। उपरोक्त ट्यूटोरियल में इसे ठीक करने पर एक पूरा खंड है।