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

UTF8 एन्कोडिंग के लिए अमान्य बाइट अनुक्रम

यदि आपको अपने डेटाबेस में UTF8 डेटा संग्रहीत करने की आवश्यकता है, तो आपको एक ऐसे डेटाबेस की आवश्यकता है जो UTF8 को स्वीकार करता हो। आप pgAdmin में अपने डेटाबेस के एन्कोडिंग की जांच कर सकते हैं। बस डेटाबेस पर राइट-क्लिक करें, और "गुण" चुनें।

लेकिन वह त्रुटि आपको बता रही है कि आपकी स्रोत फ़ाइल में कुछ अमान्य UTF8 डेटा है। इसका मतलब है कि copy उपयोगिता ने पता लगाया है या अनुमान लगाया है कि आप इसे एक UTF8 फ़ाइल खिला रहे हैं।

यदि आप यूनिक्स के किसी प्रकार के अंतर्गत चल रहे हैं, तो आप file के साथ एन्कोडिंग (अधिक या कम) की जांच कर सकते हैं उपयोगिता।

$ file yourfilename
yourfilename: UTF-8 Unicode English text

(मुझे लगता है कि टर्मिनल में मैक पर भी काम करेगा।) सुनिश्चित नहीं है कि विंडोज़ के तहत इसे कैसे किया जाए।

यदि आप उसी उपयोगिता का उपयोग किसी फाइल पर करते हैं जो विंडोज सिस्टम से आई है (अर्थात, एक फाइल जो नहीं है) UTF8 में एन्कोड किया गया), यह शायद कुछ इस तरह दिखाएगा:

$ file yourfilename
yourfilename: ASCII text, with CRLF line terminators

अगर चीजें अजीब रहती हैं, तो आप अपने इनपुट डेटा को एक ज्ञात एन्कोडिंग में बदलने का प्रयास कर सकते हैं, अपने क्लाइंट के एन्कोडिंग या दोनों को बदलने के लिए। (हम वास्तव में एन्कोडिंग के बारे में अपने ज्ञान की सीमा बढ़ा रहे हैं।)

आप iconv . का उपयोग कर सकते हैं इनपुट डेटा के एन्कोडिंग को बदलने के लिए उपयोगिता।

iconv -f original_charset -t utf-8 originalfile > newfile

आप कैरेक्टर सेट सपोर्ट के निर्देशों का पालन करते हुए psql (क्लाइंट) एन्कोडिंग को बदल सकते हैं। उस पृष्ठ पर, "स्वचालित वर्ण सेट रूपांतरण सक्षम करने के लिए" वाक्यांश खोजें।



  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. pg_top का उपयोग करके PostgreSQL उदाहरणों की गतिशील निगरानी

  3. Php . में एकाधिक तालिकाओं के लिए क्वेरी लिखना

  4. क्लाउड में पोस्टग्रेएसक्यूएल क्लस्टर्स के नियर-ज़ीरो डाउनटाइम ऑटोमेटेड अपग्रेड्स (भाग I)

  5. केवल नई पंक्तियों के लिए डिफ़ॉल्ट नाउ () के साथ टाइमस्टैम्प कॉलम जोड़ें