यदि आपको अपने डेटाबेस में UTF8 डेटा संग्रहीत करने की आवश्यकता है, तो आपको एक डेटाबेस की आवश्यकता होती है जो UTF8 स्वीकार करता है। आप pgAdmin में अपने डेटाबेस के एन्कोडिंग की जांच कर सकते हैं। बस डेटाबेस पर राइट-क्लिक करें, और "गुण" चुनें।
लेकिन यह त्रुटि आपको बता रही है कि आपकी स्रोत फ़ाइल में कुछ अमान्य UTF8 डेटा है। इसका मतलब है कि copyउपयोगिता ने पता लगाया है या अनुमान लगाया है कि आप इसे UTF8 फ़ाइल खिला रहे हैं।
यदि आप यूनिक्स के कुछ संस्करण के तहत चल रहे हैं, तो आप fileउपयोगिता के साथ एन्कोडिंग (अधिक या कम) की जांच कर सकते हैं ।
$ file yourfilename
yourfilename: UTF-8 Unicode English text
(मुझे लगता है कि टर्मिनल में एमएसीएस पर भी काम करेगा।) यह सुनिश्चित नहीं है कि विंडोज के तहत कैसे करना है।
यदि आप Windows सिस्टम से आई किसी फ़ाइल पर उसी उपयोगिता का उपयोग करते हैं (अर्थात, ऐसी फ़ाइल जो UTF8 में एन्कोड नहीं की गई है), तो यह संभवतः कुछ इस तरह दिखाएगी:
$ file yourfilename
yourfilename: ASCII text, with CRLF line terminators
यदि चीजें अजीब रहती हैं, तो आप अपने इनपुट डेटा को एक ज्ञात एन्कोडिंग में बदलने की कोशिश कर सकते हैं, अपने क्लाइंट की एन्कोडिंग को बदलने के लिए, या दोनों। (हम वास्तव में एन्कोडिंग के बारे में अपने ज्ञान की सीमाओं को बढ़ा रहे हैं।)
आप iconvइनपुट डेटा के एन्कोडिंग को बदलने के लिए उपयोगिता का उपयोग कर सकते हैं ।
iconv -f original_charset -t utf-8 originalfile > newfile
आप चरित्र सेट समर्थन पर निर्देशों का पालन करके psql (क्लाइंट) एन्कोडिंग को बदल सकते हैं । उस पृष्ठ पर, "स्वचालित वर्ण सेट रूपांतरण सक्षम करने के लिए" वाक्यांश के लिए खोजें।