MySQL का utf8
केवल यूनिकोड वर्णों की अनुमति देता है जिन्हें UTF-8 में 3 बाइट्स के साथ प्रदर्शित किया जा सकता है। यहां आपके पास एक चरित्र है जिसे 4 बाइट्स की आवश्यकता है:\xF0\x90\x8D\x83 (U+10343 गोथिक पत्र शाऊल
)।
यदि आपके पास MySQL 5.5 या बाद का संस्करण है तो आप utf8
. से कॉलम एन्कोडिंग को बदल सकते हैं से utf8mb4
. यह एन्कोडिंग उन वर्णों के संग्रहण की अनुमति देता है जो UTF-8 में 4 बाइट्स लेते हैं।
आपको सर्वर गुण character_set_server
. भी सेट करना पड़ सकता है करने के लिए utf8mb4
MySQL कॉन्फ़िगरेशन फ़ाइल में। ऐसा लगता है कि Connector/J डिफ़ॉल्ट रूप से 3 हो जाता है -बाइट यूनिकोड अन्यथा
:
उदाहरण के लिए, कनेक्टर/जे के साथ 4-बाइट UTF-8 वर्ण सेट का उपयोग करने के लिए, MySQL सर्वर को character_set_server=utf8mb4
के साथ कॉन्फ़िगर करें , और characterEncoding
. छोड़ दें कनेक्टर/जे कनेक्शन स्ट्रिंग से बाहर। कनेक्टर/जे तब UTF-8 सेटिंग को स्वतः पहचान लेगा।