मैंने पहले भी यही समस्या अनुभव की थी, और मैंने जो किया वह निम्नलिखित हैं
1) नोटपैड++ (लगभग किसी भी एन्कोडिंग के अनुकूल हो सकता है) या ग्रहण का उपयोग करें और यह सुनिश्चित करें कि इसे BOM के बिना UTF-8 में सहेजें या खोलें ।
2) header('Content-type: text/html; charset=UTF-8');
का उपयोग करके PHP हैडर में एन्कोडिंग सेट करें
3) मेरी PHP फ़ाइलों के प्रारंभ और अंत में किसी भी अतिरिक्त स्थान को हटा दें।
4) मेरी सभी टेबल और कॉलम एन्कोडिंग को utf8mb4_general_ci
. पर सेट करें या utf8mb4_unicode_ci
PhpMyAdmin या आपके पास मौजूद किसी भी mySQL क्लाइंट के माध्यम से। दो एन्कोडिंग की तुलना उपलब्ध है यहां
5) mysql कनेक्शन वर्णसेट को UTF-8 पर सेट करें (मैं अपने डेटाबेस कनेक्शन के लिए PDO का उपयोग करता हूं)
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET utf8"
या कोई भी डेटा लाने से पहले केवल SQL क्वेरी निष्पादित करें
6) मेटा टैग का उपयोग करें <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7) फ्रेंच के लिए एक निश्चित भाषा कोड का उपयोग करें<meta http-equiv="Content-language" content="fr" />
8) html एलिमेंट लैंग एट्रिब्यूट को वांछित भाषा में बदलें
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
और इसे और अपडेट करता रहूंगा क्योंकि मुझे पहले इस समस्या को हल करने में वास्तव में कठिन समय था क्योंकि मैं अपने पिछले प्रोजेक्ट्स में जापानी पात्रों के साथ काम कर रहा था
9) क्लाइंट पीसी में कुछ फोंट उपलब्ध नहीं हैं, आपको Google फोंट का उपयोग करने की आवश्यकता है। इसे अपने सीएसएस में शामिल करने के लिए
10) अपनी PHP स्रोत फ़ाइल को ?>
. के साथ समाप्त न करें
नोट:
लेकिन अगर मैंने ऊपर जो कुछ भी कहा है वह काम नहीं करता है, तो उस चरित्र-सेट के आधार पर अपने एन्कोडिंग को समायोजित करने का प्रयास करें जिसे आप वास्तव में प्रदर्शित करना चाहते हैं, मेरे लिए मैंने सब कुछ SHIFT-JIS
पर सेट किया है मेरे सभी जापानी पात्रों को प्रदर्शित करने के लिए और यह वास्तव में ठीक काम करता है। लेकिन UFT-8
का उपयोग कर रहे हैं आपकी प्राथमिकता होनी चाहिए