मेरे पास एक HTML फॉर्म है, और कुछ उपयोगकर्ता एमएस वर्ड से टेक्स्ट कॉपी/पेस्ट कर रहे हैं।HTML फॉर्म में सबमिट किए जाने पर उद्धरण मजाकिया वर्णों में क्यों बदलते हैं?
'एक € Â ™ और एक ¢ Â € Â ™
डेटाबेस स्तंभ मिलान utf8_general_ci है: एकल उद्धरण या डबल कोट्स देखते हैं, वे की तरह अजीब पात्रों में अनुवाद मिलता है।
मैं उचित वर्ण दिखाने के लिए कैसे प्राप्त करूं?
संपादित करें: समस्या हल हो गई। यहां बताया गया है कि मैंने इसे कैसे ठीक किया:
डेटाबेस से जोड़ने/पुनः प्राप्त करने से पहले mysql_query("SET NAMES 'utf8'");
रन। (नीचे डोनाल की टिप्पणी के लिए धन्यवाद)।
और कुछ हद तक विषम, PHP प्रदर्शन urlencode($text)
प्रदर्शित होने पर लागू किया गया था, ताकि इसे हटा दिया जाना था।
मैंने यह भी सुनिश्चित किया कि पृष्ठ के लिए शीर्षलेख और AJAX अनुरोध/प्रतिक्रिया सभी utf8 थे।
एमएस वर्ड "स्मार्ट कोट्स" में उद्धरण बदलता है, जो कि स्मार्ट के अलावा कुछ भी है। वे यूनिकोड के बजाय एक माइक्रोसॉफ्ट "कोड पेज" का उपयोग करते हैं। –
आप इसे कुछ हाइफ़न के साथ भी देखेंगे। – Buggabill
यदि सभी एन्कोडिंग सही तरीके से निर्दिष्ट हैं, तो इन्हें स्वचालित रूप से उनके यूनिकोड समकक्ष में परिवर्तित किया जाना चाहिए। मुझे संदेह है कि समस्या शब्द के लिए विशिष्ट है; टाइपिंग का प्रयास करें उदा। Alt + 130 (é) सीधे, और देखें कि यह साफ़ रूप से आता है या नहीं। – Thomas