नियम जब आपको वर्ण सेट में समस्या हो:
-
डेटाबेस बनाते समय utf8 एन्कोडिंग का उपयोग करें:
CREATE DATABASE _test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-
सुनिश्चित करें कि सभी टेक्स्ट फ़ील्ड (वर्कर और टेक्स्ट) UTF-8 का उपयोग कर रहे हैं:
CREATE TABLE _test.test ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE = MyISAM;
-
जब आप कनेक्शन बनाते हैं तो डेटाबेस को क्वेरी/अपडेट करने से पहले ऐसा करें:
SET NAMES utf8;
-
phpMyAdmin के साथ - लॉगिन करते समय UTF-8 चुनें।
-
यह सुनिश्चित करने के लिए वेब पेज एन्कोडिंग को utf-8 पर सेट करें कि सभी पोस्ट/डेटा यूटीएफ -8 में होंगे (या आपको कनवर्ट करना दर्दनाक है ..) PHP कोड (php फ़ाइल में पहली पंक्ति या कम से कम किसी आउटपुट से पहले):
header('Content-Type: text/html; charset=UTF-8');
-
सुनिश्चित करें कि आपके सभी प्रश्न UTF8 एन्कोडिंग में लिखे गए हैं। यदि PHP का उपयोग कर रहे हैं:
6.1. अगर PHP UTF-8 में कोड का समर्थन करता है - बस अपनी फ़ाइलें UTF-8 में लिखें।
6.2. यदि php को UTF-8 समर्थन के बिना संकलित किया गया है - तो अपने स्ट्रिंग्स को UTF-8 में इस तरह रूपांतरित करें:
$str = mb_convert_encoding($str, 'UTF-8', '<put your file encoding here');
$query = 'SELECT * FROM test WHERE name = "' . $str . '"';
इससे यह काम करना चाहिए।