का उपयोग करते हुए, नोडजेस जावास्क्रिप्ट में सीपी 9 32 से यूटीएफ -8 में वर्ण एन्कोडिंग को कैसे परिवर्तित करें, मैं जावास्क्रिप्ट में utf8 में CP932 (उर्फ विंडोज -31 जे) से स्ट्रिंग को बदलने का प्रयास कर रहा हूं। असल में मैं ऐसी साइट को क्रॉल कर रहा हूं जो अनुरोध शीर्षलेख में utf-8 अनुरोध को अनदेखा करता है और cp932 एन्कोडेड टेक्स्ट देता है (भले ही HTML मेटाटैग इंगित करता है कि पृष्ठ shift_jis है)।nodejs-iconv मॉड्यूल (या अन्य समाधान)
वैसे भी, मेरे पास संपूर्ण पृष्ठ "स्ट्रिंग वैरिएबल" में संग्रहीत है जिसे "html" कहा जाता है। वहां से मैं इस कोड का उपयोग करने के लिए UTF8 परिवर्तित करने का प्रयास कर रहा हूँ:
var Iconv = require('iconv').Iconv;
var conv = new Iconv('CP932', 'UTF-8//TRANSLIT//IGNORE');
var myBuffer = new Buffer(html.length * 3);
myBuffer.write(html, 0, 'utf8')
var utf8html = (conv.convert(myBuffer)).toString('utf8');
परिणाम क्या यह माना जाता है नहीं है। उदाहरण के लिए, स्ट्रिंग: "投稿 者 さ ん の 稚 内 全日空 ホ テ ル の ク チ コ ミ (感想 · 情報)" के रूप में "ソ ス ソ ス ソ ス ई ソ ス メ ゑ ソ ス ソ ス ソ ス ソ ス ソ ス ソ ス टी ソ ス ソ ス ソ ス एस ソ ス ソ ス ソ ス ソ ス ソ ス z ソ ス ई ソ ス ソ ス ソ ス フ ク ソ ス बाहर आता है`ソ ス आर ソ ス ~ (ソ ス ソ ス ソ ス z ソ ス ई ソ ス ソ ス ソ ス ソ ス) "
अगर मैं हटाने // translit // ध्यान न दें (जो यह पात्रों लापता के लिए इसी तरह के पात्रों पर लौटने के लिए चाहिए और ऐसा न करने पर कि छोड़ गैर ट्रांसकोड करने योग्य वर्ण), मुझे यह त्रुटि मिलती है: त्रुटि: EILSEQ, अवैध वर्ण अनुक्रम।
मैं किसी भी समाधान का उपयोग करने के लिए खुला हूं जिसे नोडजेज़ में कार्यान्वित किया जा सकता है, लेकिन मेरे खोज परिणामों ने नोडजेस-आइकनव मॉड्यूल के बाहर कई विकल्प नहीं दिए हैं।
NodeJS-iconv रेफरी: https://github.com/bnoordhuis/node-iconv
धन्यवाद!
24.06.2011 संपादित करें: मैं आगे बढ़ गया हूं और जावा में एक समाधान लागू किया है। हालांकि अगर कोई इसे हल कर सकता है तो भी मुझे इस समस्या के जावास्क्रिप्ट समाधान में दिलचस्पी होगी।
क्या आपने मौके से और से भ्रमित किया है? –
जिस तरह से मैंने इसे स्थापित किया है, मॉड्यूल दस्तावेज में उदाहरणों से मेल खाता है, लेकिन सिर्फ किक्स के लिए मैंने इसे स्वैप करने का प्रयास किया, और परिणाम खराब दिखाई देता है। मुझे यह स्ट्रिंग मिलती है: "ई tSze एन'आर ~ (जेईई)" – Brian