यदि आपको अपने डेटाबेस में 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 (क्लाइंट) एन्कोडिंग को बदल सकते हैं। उस पृष्ठ पर, "स्वचालित वर्ण सेट रूपांतरण सक्षम करने के लिए" वाक्यांश खोजें।