मैं NodeJS के साथ एक webpage से कुछ स्क्रैप डेटा कोशिश कर रहा हूँ के साथ विंडोज़ -1250 इनकोडिंग वेब पेज से सही स्ट्रिंग हो रही है, लेकिन मैं वर्ण एन्कोडिंग के साथ समस्या हो रहा हूँ। वेब पेज कहा गया है कि यह एन्कोडिंग है: <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
और जब मैं क्रोम के साथ यह ब्राउज़ करने के लिए यह विंडोज़ -1250 एन्कोडिंग सेट करता है और सब कुछ ठीक लग रहा है।Node.js
चूंकि नोड में स्ट्रीम के लिए कोई विंडोज -1250 एन्कोडिंग/डिकोडिंग नहीं है (और utf8 काम नहीं करता है), मुझे एक आइकनव-लाइट पैकेज मिला जो विभिन्न एन्कोडिंग के बीच आसानी से परिवर्तित करने में सक्षम होना चाहिए। लेकिन मैं अभी भी गलत वर्ण मैं एक फ़ाइल में प्रतिक्रिया (या कंसोल में उत्पादन) को बचाने के बाद मिलता है। मैं भी अलग एनकोडिंग, देशी नोड बफर एन्कोडिंग की कोशिश की, मैं क्या क्रोम (Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3
) में देखते हैं लेकिन कुछ भी सही ढंग से काम करने लगता है के रूप में ही करने के लिए शीर्ष लेख की स्थापना।
आप यहाँ https://gist.github.com/4110999 में पूरे कोड देख सकते हैं।
मैं मैं कुछ मौलिक कैसे एन्कोडिंग तो काम करता है सही पात्रों के साथ डेटा प्राप्त करने के तरीके के बारे में किसी भी मदद की सराहना की होगी के बारे में याद आ रही है लगता है।
संपादित करें:
इसके अलावा नोड iconv पैकेज के मामले में यह एक पैकेज समस्या यह है की कोशिश की।
var decoder = new Iconv_native('WINDOWS-1250', 'UTF-8');
var decoded = decoder.convert(body).toString();
लेकिन अभी भी एक ही परिणाम हो रही है: करने के लिए लाइन 51 बदल दिया है।
हाय, मैं भी कोड के माध्यम से चला गया और ऐसा लगता है कि एन्कोडिंग समानार्थक शब्द के रूप में आयोजित किया जाता है ताकि 1250 == win1250 == windows1250। मुझे लगता है कि वैसे भी करने की कोशिश की और यह एक ही परिणाम देता है। win1251 या तो काम नहीं करता है, परिणाम अलग है, लेकिन गैर ASCII वर्ण अभी भी निरर्थक शब्द हैं। – aocenas