हाँ, मैं कर सकता हूँ।
आपने मैसकल सर्वर को नहीं बताया कि आपको कौन सा डेटा एन्कोडिंग चाहिए।
यदि आपका पेज एन्कोडिंग संग्रहीत डेटा एन्कोडिंग से अलग है, तो MySQL किसी भी एन्कोडिंग की आपूर्ति कर सकता है। और इसे तुरंत रीकोड करें।
इस प्रकार, इसे क्लाइंट के पसंदीदा एन्कोडिंग के बारे में बताया जाना चाहिए (आपका PHP कोड वह डेटाबेस क्लाइंट है)।
डिफ़ॉल्ट रूप से यह latin1
है . इस प्रकार, क्योंकि लैटिन 1 वर्ण तालिका में ऐसा कोई प्रतीक नहीं है, इसके बजाय प्रश्न चिह्न लौटाए जा रहे हैं।
MySQL को यह बताने के 2 तरीके हैं कि हम कौन सी एन्कोडिंग चाहते हैं:
- थोड़ा अधिक पसंदीदा है mysqli_set_charset() फ़ंक्शन (आपके मामले में विधि)।
- कम पसंदीदा एक है
SET NAMES
सवाल।
लेकिन जब तक आप mysqli एक्सटेंशन का ठीक से उपयोग कर रहे हैं, वास्तव में कोई फर्क नहीं पड़ता। (हालांकि आप नहीं हैं)
ध्यान दें कि mysql में इस एन्कोडिंग को utf8
. कहा जाता है , डैश या रिक्त स्थान के बिना।