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

php और mysql के साथ utf8mb4 का उपयोग करना

MySQL का utf8 एन्कोडिंग नहीं है वास्तविक यूटीएफ -8। यह एक एन्कोडिंग है जो यूटीएफ -8 की तरह है, लेकिन केवल यूटीएफ -8 का समर्थन करने वाले सबसेट का समर्थन करता है। utf8mb4 वास्तविक है यूटीएफ-8. यह अंतर एक आंतरिक कार्यान्वयन विवरण है MySQL का। दोनों PHP की तरफ UTF-8 की तरह दिखते हैं। क्या आप utf8 . का उपयोग करते हैं या utf8mb4 , PHP को दोनों ही मामलों में मान्य UTF-8 प्राप्त होगा।

आपको यह सुनिश्चित करने की आवश्यकता है कि कनेक्शन एन्कोडिंग PHP और MySQL के बीच utf8mb4 पर सेट है . अगर यह utf8 . पर सेट है , MySQL सभी वर्णों का समर्थन नहीं करेगा। आपने इस कनेक्शन एन्कोडिंग को mysql_set_charset() . का उपयोग करके सेट किया है , पीडीओ charset DSN कनेक्शन पैरामीटर या आपकी पसंद के डेटाबेस API के लिए जो भी अन्य विधि उपयुक्त है।

mb_internal_encoding बस $encoding . के लिए डिफ़ॉल्ट मान सेट करता है पैरामीटर सभी mb_* कार्यों है। इसका MySQL से कोई लेना-देना नहीं है।

UTF-8 और UTF-32 वर्णों को एन्कोड करने के तरीके में भिन्न हैं। UTF-8 एक न्यूनतम . का उपयोग करता है किसी वर्ण के लिए 1 बाइट और अधिकतम 4. UTF-32 हमेशा प्रत्येक वर्ण के लिए 4 बाइट्स का उपयोग करता है। UTF-16 कम से कम 2 बाइट्स और अधिकतम 4 का उपयोग करता है।
इसकी परिवर्तनशील लंबाई के कारण, UTF-8 में थोड़ा सा ओवरहेड होता है। एक वर्ण जिसे UTF-16 में 2 बाइट्स में एन्कोड किया जा सकता है, UTF-8 में 3 या 4 ले सकता है; दूसरी ओर, UTF-16 कभी भी कम का उपयोग नहीं करता है 2 बाइट्स से। यदि आप बहुत सारे एशियाई पाठ संग्रहीत कर रहे हैं, तो UTF-16 कम संग्रहण का उपयोग कर सकता है। यदि आपका अधिकांश टेक्स्ट अंग्रेज़ी/ASCII है, तो UTF-8 कम संग्रहण का उपयोग करता है। UTF-32 हमेशा सबसे अधिक संग्रहण का उपयोग करता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कॉलम से अवांछित चरित्र हटाना

  2. पीएचपी:अपरिभाषित समारोह mysql_connect ()

  3. MySQL चुनें कि JSON फ़ील्ड प्रॉपर्टी का मूल्य कहाँ है

  4. चेतावनी उपयोगकर्ता/स्थानीय/mysql/डेटा निर्देशिका mysql उपयोगकर्ता के स्वामित्व में नहीं है

  5. MySQL में माइनस ऑपरेशन करने की कोशिश कर रहा है