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

MySQL के ANSI और यूनिकोड ड्राइवरों के बीच अंतर

सबसे पहले मुझे यह कहना चाहिए कि मैं MySQL का उपयोग नहीं करता लेकिन मुझे ODBC ड्राइवर्स के बारे में पता है। ओडीबीसी में यूनिकोड और एएनएसआई के लिए अलग-अलग एपीआई हैं। एएनएसआई एपीआई ए में समाप्त होते हैं और यूनिकोड एपीआई डब्ल्यू में समाप्त होते हैं (उदाहरण के लिए, SQLPrepareA और SQLPrepareW)। एएनएसआई एपीआई वर्ण स्ट्रिंग के लिए बाइट्स/ऑक्टेट स्वीकार करते हैं और इसलिए केवल 0-255 chrs को संभाल सकते हैं। यूनिकोड एपीआई SQLWCHARs को स्वीकार करते हैं जो 2 बाइट UCS-2 एन्कोडेड यूनिकोड कोडपॉइंट हैं (नए MS SQL सर्वर संस्करण UTF16 एन्कोडेड स्ट्रिंग्स को संभाल सकते हैं) और इसलिए यूनिकोड में लगभग पहले 65000 कोडपॉइंट को संभाल सकते हैं।

इसलिए यदि आपको यूनिकोड डेटा स्टोर करने की आवश्यकता है तो आपके पास कोई विकल्प नहीं है कि कौन सा ड्राइवर उपयोग करे।

मैं कार्नांगेल की गति पर टिप्पणियों को यूनिकोड ड्राइवर का उपयोग करने से नहीं रोकूंगा और किसी भी मामले में उनकी टिप्पणियों में कोई तथ्य शामिल नहीं है। वह इसका जिक्र कर रहे होंगे:

यदि आप MySQL में यूनिकोड डेटा संग्रहीत करते हैं तो यह UTF-8 एन्कोडेड होगा और आपके नेटवर्क पर UTF-8 के रूप में स्थानांतरित किया जाएगा। क्लाइंट के अंत में ODBC ड्राइवर को UTF-8 एन्कोडेड डेटा को UCS-2 में बदलना होगा क्योंकि ODBC को यही चाहिए। जाहिर है इसका उल्टा ही लागू होता है।

यदि आप एक यूनिकोड ओडीबीसी ड्राइवर के साथ एक एएनएसआई ओडीबीसी एप्लिकेशन (जो कि एएनएसआई ओडीबीसी एपिस का उपयोग करता है) लिखते हैं तो ओडीबीसी चालक प्रबंधक को यूसीएस -2 को ड्राइवर रिटर्न को 8 बिट (हानिकारक) में बदलना होगा और 8 बिट को परिवर्तित करना होगा डेटा जो आप ड्राइवर को UCS-2 को देते हैं। तो ऐसा मत करो।

इन दिनों अगर कोई अभी भी एएनएसआई ओडीबीसी ड्राइवरों का उपयोग कर रहा है तो मुझे आश्चर्य होगा।



  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 क्वेरी बनाम SQL जॉइन का उपयोग करना

  2. MySQL डेटाबेस सेवा - नई हीटवेव इनोवेशन

  3. MySQL दिनांक या PHP समय?

  4. mySQL में ऑर्डर द्वारा कस्टम ऑर्डर कैसे परिभाषित करें?

  5. डेटा एक्सप्लोरेशन के लिए मेटाबेस को MySQL से कनेक्ट करें