/ / स्ट्रीमरेडर के साथ एक विदेशी भाषा में एक वेब पेज पढ़ना - सी #, http, एन्कोडिंग, स्ट्रीमरीडर

StreamReader - c #, http, एन्कोडिंग, स्ट्रीमreader के साथ एक विदेशी भाषा में एक वेब पेज पढ़ना

मैं एक ऐसे वेब पेज को लाने की कोशिश कर रहा हूं, जिसका मिश्रण हैअंग्रेजी और कोरियाई। ब्राउज़र पृष्ठ को ठीक से ला सकता है और प्रदर्शित कर सकता है, लेकिन जब मैं इसे प्रोग्रामेटिक रूप से हड़पने की कोशिश करता हूं तो मैं कोरियाई वर्णों को ठीक से प्रदर्शित करने के लिए प्राप्त नहीं कर सकता।

मुझे पता है कि आप StreamReader में एक एन्कोडिंग निर्दिष्ट कर सकते हैं, लेकिन मुझे वह मिल गया है जो अभी तक काम करता है।

यह वह कोड है जिसे मैंने प्रतिक्रिया पढ़ने के लिए उपयोग किया है:

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(response.CharacterSet));

response.CharacterSet UTF8 लौटाता है। मैंने सभी बुनियादी एन्कोडिंग विकल्पों - ASCII, BigEndian, Default, Unicode, UTF32, UTF7 और मैन्युअल रूप से Encoding.UTF8 को जोड़ने का प्रयास किया।

I ने संस्कृतिइन्फो के माध्यम से इसके बारे में जाने की कोशिश की:

CultureInfo kr = CultureInfo.GetCultureInfo("ko");
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(kr.TextInfo.ANSICodePage));

"को" और "को-केआर" दोनों का उपयोग करना। मुझे इन सभी विभिन्न प्रकारों से विभिन्न परिणाम मिलते हैं, लेकिन उनमें से कोई भी सही नहीं है।

मैंने सीधे कोड पेज की कोशिश की है:

StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(949));

response.ContentEncoding खाली स्ट्रिंग देता है। मैं विचारों से भाग रहा हूं।

संपादित करें: यहाँ एक उदाहरण है जो मैं उम्मीद कर रहा हूँ:

프로젝트:

और यहाँ है जो मुझे मिल रहा है:

        //ASCII == ??????
//BigEndian == ़汩湫â¨ç‰¥æ˜½âˆ¯æ©³â½¤ç°æ”
//Default == íâ€â€žÃ«Â¡Å“ì Â트:
//Unicode == íâ€â€žÃ«Â¡Å“ì Â트
//UTF32 == ���������ï
//UTF7 == 프로ì Â트
//UTF8 == 프로ì 트

उत्तर:

उत्तर № 1 के लिए 1

FWIW: एक स्ट्रीम रीडर संभवतः अच्छी तरह से काम नहीं कर रहा है।

का उपयोग करना पसंद करते हैं HttpWebRequest वर्ग ब्राउज़र अनुरोध करने के लिए (या 302 प्रतिक्रियाएँ मिलने पर आप बहुत जल्द ही खेद महसूस करेंगे या gzipped और / या chunked एन्कोडिंग)

मैंने इसे एक उत्तर के रूप में प्रचारित किया, जैसा कि यह है पराक्रम बहुत अच्छी तरह से समस्या आप "पहले से ही कर रहे हैं। मैं नहीं जानता" क्या आपको जो प्रतिक्रिया मिल रही है, वह बिल्कुल वैसी ही है