सी # HttpRequest और विभिन्न एन्कोडिंग

मेरी समस्या यहाँ है। मेरे पास ASP.NET/C # में एक वेबसाइट है जो GET/POST के माध्यम से कुछ डेटा प्राप्त करती है

यह "उपयोगकर्ता भर गया" डेटा है, लेकिन वेब पेज के माध्यम से नहीं, यह एक ऐसा सॉफ़्टवेयर है जो मेरे सर्वर से संपर्क करता है।

समस्या यह है कि यह सॉफ्टवेयर आईएसओ -885 9 -1 में एन्कोड किए गए डेटा भेज रहा है (इसलिए कैफे को कैफ% ई 9 के रूप में भेजा जाएगा) और मेरा बाकी एसडब्ल्यू/डीबी यूनिकोड है

इसके अलावा डेटा पूरी तरह से उलझा हुआ है, जो असंभव भेजा गया है वसूली कर रहा है: /

इससे निपटने का सबसे अच्छा तरीका क्या होगा?

मैंने Request.ContentEncoding (पढ़ने से पहले) सेट करने का प्रयास किया, लेकिन कोई फायदा नहीं हुआ।

0
क्या सॉफ़्टवेयर अनुरोध पर सही एन्कोडिंग सेट करता है?
जोड़ा लेखक Pop Catalin, स्रोत
कृपया, अपने प्रश्न को स्पष्ट करें। "उलझन" स्पष्ट नहीं है। आप क्या हासिल करना चाहते हैं? सामान्य स्ट्रिंग (यूनिकोड) में डेटा प्राप्त करने के लिए? इसे प्रदर्शित करने के लिए?
जोड़ा लेखक Sunny Milenov, स्रोत

4 उत्तर

अगर मैं आपको सही ढंग से समझता हूं, तो आप इस जानकारी को HTTP अनुरोध से बाहर खींच रहे हैं। मुझे लगता है कि यह HTTP अनुरोध निकाय है जो एन्कोडिंग में है।

आप ISO.T8859-1 के लिए एन्कोडिंग ऑब्जेक्ट पुनर्प्राप्त करने के लिए System.Text.Encoding.GetEncoding (...) का उपयोग कर सकते हैं। फिर उस एन्कोडिंग ऑब्जेक्ट पर GetDecoder() को कॉल करें, और अनुरोध निकाय की व्याख्या करने के लिए इसका उपयोग करें। आदर्श रूप से आप एन्कोडिंग प्रकार से एन्कोडिंग प्रकार निर्धारित करते हैं जो एन्कोडिंग से प्राप्त होता है। GetEncoding (...) अनुरोध में हेडर मानों से, इसलिए विभिन्न कॉन्फ़िगरेशन वाले सर्वर समर्थित हैं।

0
जोड़ा

% e9 बस है लेकिन UrlEncoded है। Server.UrlDdode अपने अनुरोध स्ट्रिंग।

0
जोड़ा

की ओर देखें

कैसे करें: ASP.NET वेब पेज वैश्वीकरण के लिए एन्कोडिंग का चयन करें

कम:

Web.config लिखो में


  
    
  

एएसपीएक्स हेडर में एन्कोडिंग प्रविष्टियों को हटा दें।

अगर utf-8 सही नहीं है तो utf-16 का प्रयास करें

आशा है कि ये आपकी मदद करेगा।

0
जोड़ा

यहां काम करने वाली एकमात्र चीज web.config पर निम्न कोड जोड़ रही थी:


  
    
  

और फिर उपयोग करें

Request["varName"]

HttpUtility.UrlDecode या HttpUtility.UrlEncode का उपयोग न करें, उन 2 केवल कच्चे क्वेरी स्ट्रिंग पर काम करते हैं। अनुरोध [] पहले से ही आपके लिए डीकोड करता है।

खुद को विचार पोस्ट करने के लिए जेम्सपी के लिए धन्यवाद।

0
जोड़ा
नायक! यह एक आवश्यकता है जब आप किसी वेबपृष्ठ पर सबमिट किए गए पीडीएफ फॉर्म का उपयोग करते हैं। मैं पूरे दिन इस समस्या से कुश्ती कर रहा था और आखिर में मैंने इस पर ठोकर खाई और यह काम किया! +1
जोड़ा लेखक stvn, स्रोत