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

PostgreSQL का उपयोग करके स्ट्रिंग को यूनिकोड में कैसे बदलें?

PostgreSQL डेटाबेस में एक मूल वर्ण प्रकार होता है, "सर्वर एन्कोडिंग"। यह आमतौर पर utf-8 होता है।

सभी पाठ इस एन्कोडिंग में हैं। मिश्रित एन्कोडिंग पाठ समर्थित नहीं है, सिवाय इसके कि bytea . के रूप में संग्रहीत किया गया हो (यानी अपारदर्शी बाइट अनुक्रम के रूप में)।

आप "यूनिकोड" या "गैर-यूनिकोड" स्ट्रिंग्स को स्टोर नहीं कर सकते हैं, और PostgreSQL में "varchar" बनाम "nvarchar" की कोई अवधारणा नहीं है। Utf-8 के साथ, 7-बिट ASCII श्रेणी (और कुछ अन्य) में आने वाले वर्ण एकल बाइट के रूप में संग्रहीत किए जाते हैं, और व्यापक वर्णों को अधिक संग्रहण की आवश्यकता होती है, इसलिए यह केवल स्वचालित है। utf-8 को टेक्स्ट के लिए ucs-2 या utf-16 की तुलना में अधिक संग्रहण की आवश्यकता होती है जो कि सभी "विस्तृत" वर्णों के लिए है, लेकिन उस टेक्स्ट के लिए कम है जो एक मिश्रण है।

PostgreSQL स्वचालित रूप से client_encoding . का उपयोग करके क्लाइंट के टेक्स्ट एन्कोडिंग में/से कनवर्ट करता है स्थापना। स्पष्ट रूप से रूपांतरित होने की कोई आवश्यकता नहीं है।

यदि आपका क्लाइंट "यूनिकोड" है (जिसे Microsoft उत्पाद UCS-2 या UTF-16 के अर्थ में कहते हैं), तो अधिकांश क्लाइंट ड्राइवर आपके लिए किसी भी utf-8 <--> utf-16 रूपांतरण का ध्यान रखते हैं।

इसलिए आपको परवाह करने की आवश्यकता नहीं है, जब तक कि आपका क्लाइंट सही वर्णसेट विकल्पों के साथ I/O करता है और एक सही client_encoding सेट करता है यह उस डेटा से मेल खाता है जो वास्तव में तार पर भेजता है। (यह PgJDBC, nPgSQL, या यूनिकोड psqlODBC ड्राइवर जैसे अधिकांश क्लाइंट ड्राइवरों के साथ स्वचालित है)।

देखें:




  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. पूर्णांकों का विभाजन 0 . लौटाता है

  3. PostgreSQL - टाइमस्टैम्प मानों के आधार पर समूह?

  4. शून्य मान अद्वितीय नहीं है

  5. मैं postgresql के लिए HikariCP को कैसे कॉन्फ़िगर करूं?