2011-08-05 10 views
6

में त्रुटि मैं पर्ल एप्लिकेशन स्थापित कर रहा हूं। मुझे यह त्रुटि मिल रही है। "utf8" \ x96 "यूनिकोड पर मैप नहीं करता है" क्या कोई मुझे कारण और समाधान बता सकता है। क्या मुझे कोई कॉन्फ़िगरेशन याद आ रही है या यह मेरी स्थापना समस्या है?"utf8" x96 "यूनिकोड को <somefile.pl> पर लाइन नंबर 321 पर मैप नहीं करता है" पर्ल

open(FILE,"<:encoding(UTF-8)",$self->{BASEDIR}.$self->{FILENAME}) || die "could not open file $basedir$filename - $!"; 

उत्तर

7

चरित्र 0x96 एक वैध UTF-8 एन्कोडिंग नहीं है:

के बाद कोड है। 0x80 से ऊपर कोड बिंदुओं का एक ब्लॉक है, जो यूटीएफ -8 में, 2- या 3-बाइट वर्ण की शुरुआत को एन्कोड करता है।

जो इनपुट आप पढ़ रहे हैं वह यूटीएफ -8 नहीं होना चाहिए, और संभवतः लैटिन 1 या सीपी 1252 है।

आपको इनपुट डेटा को यूटीएफ -8 में कनवर्ट करने की आवश्यकता होगी, हालांकि कोई ऐसा करता है जो कि पर्ल में करता है (जब से मैंने कोई पर्ल किया है और यह डिफ़ॉल्ट रूप से यूटीएफ -8 का उपयोग नहीं करता है जब मैं पर्ल लिख रहा था :-)

+0

अब मुझे क्या करना चाहिए? क्योंकि मैंने किसी अन्य पीसी पर एप्लिकेशन स्थापित किया है, लेकिन यह काम करता है लेकिन दूसरे पर काम नहीं कर रहा है। – Bhushan

+2

यदि आप अपनी पोस्ट को अधिक जानकारी शामिल करने के लिए संपादित करते हैं, तो यह मदद करेगा जैसे कि आपको त्रुटि मिलती है और समस्या का कारण बनने वाले डेटा का नमूना। अन्यथा हम अनुमान लगा रहे हैं। –

+0

इसकी घातक त्रुटि नहीं है। पृष्ठ ठीक से प्रदर्शित हो रहा है लेकिन यह संदेश शीर्ष पर डुबकी लगाया गया है। – Bhushan

5

मुझे संदेह है कि यूटीएफ -8 में एन्कोड किए जाने वाले कुछ को वास्तव में यूटीएफ -8 के साथ एन्कोड नहीं किया गया है।

1

अगर यह भविष्य में किसी की मदद करता है तो बस इस जानकारी को बाहर निकाल दें।

यदि आप किसी Microsoft उत्पाद के साथ काम कर रहे हैं, तो यह गैर-यूएस वर्ण (यूरोपीय, चीनी, आदि) के कारण हो सकता है। उदाहरण के लिए, यदि कोई आपको डेटा की एक्सेल स्प्रैडशीट भेजता है जिसे आपको संसाधित करने की आवश्यकता होती है और यह .csv प्रारूप में सहेजी जाती है, तो वे वर्ण utf-8 रेंज के बाहर हो सकते हैं यदि यह ठीक से सहेजा नहीं गया था। ।

सौभाग्य से, कम से कम के लिए मैक वी 15 Excel में, यह संभव है कि डेटा लेने के लिए और विशेष रूप से एक सीएसवी UTF-8 फ़ाइल "के रूप में बचाने के लिए" करने के लिए है - यह विकल्पों की सूची में है। यह अन्य सीएसवी फ़ाइल विकल्प से एक अलग विकल्प है। यह गैर-यूएस अक्षरों को यूटीएफ -8 वर्णसेट में परिवर्तित करेगा और इस समस्या को हल करेगा।

संबंधित मुद्दे