Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

JDBC के माध्यम से MySQL में UTF-8 डालने का प्रयास करते समय गलत स्ट्रिंग मान?

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 सेटिंग को स्वतः पहचान लेगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL फायर ट्रिगर इन्सर्ट और अपडेट दोनों के लिए

  2. MySQL के साथ एक वेबसाइट बनाएं

  3. MySQL में लेनदेन को संभालना

  4. MySQL में हर घंटे के लिए डेटा कैसे प्राप्त करें

  5. MySQL 8.0 के लिए Percona सर्वर के साथ एक एन्क्रिप्टेड डेटाबेस का बैकअप कैसे लें