2011-12-11 5 views
5

"नियमित" .NET में UrlEncode विधि है जो एक एन्कोडिंग पैरामीटर लेती है। क्या WP7 के लिए .NET में ऐसी UrlEncode विधि नहीं है?विंडोज फोन 7 में विशिष्ट एन्कोडिंग के साथ UrlEncode?

मैं स्वीडन में स्थित हूं और मैं एक आरईएसटी सेवा से डेटा पुनर्प्राप्त करने की कोशिश कर रहा हूं जो अनुरोधों में आईएसओ -885 9 -1 की अपेक्षा करता है (लेकिन यूटीएफ -8 में जवाब देता है)। एक खोज करते समय (input=frölunda) और केवल UrlEncode का उपयोग करके मुझे input=fr%C3%B6lunda मिलता है जो "गायब" के कारण बहुत अजीब परिणाम देता है। आईएसओ -885 9 -1 एन्कोडिंग के साथ .NET UrlDecode का उपयोग करके मुझे input=fr%F6lunda मिलता है जो अपेक्षित परिणाम देता है।

क्या मुझे अपना खुद का यूआरएलएनकोड लागू करना है?

उत्तर

2

दिलचस्प, ऐसा लगता है कि माइक्रोसॉफ्ट सिल्वरलाइट के साथ मानक का पालन कर रहा है। Wikipedia का कहना है:

[...] सभी अन्य पात्रों बाइट्स UTF-8, और तो प्रतिशत एन्कोड उन मूल्यों के अनुसार परिवर्तित करना चाहिए। यह आवश्यकता जनवरी 2005 में आरएफसी 3 9 86 के प्रकाशन के साथ पेश की गई थी। यूआरआई योजनाओं ने इस तिथि को प्रभावित होने से पहले पेश किया था।

तो ऐसा लगता है जैसे उन्होंने एन्कोडिंग की पसंद को छोड़ दिया क्योंकि वैसे भी किसी को अनुमति है।

इसके अलावा आप केवल having this problem नहीं हैं। सिफारिश है: HtmlEncode आपको प्राप्त करने के लिए व्हील और use code already written को पुन: पेश न करें। (ग्राहक पक्ष पर HttpUtility.UrlEncode के बजाय Uri.EscapeUriString का उपयोग करने की सिफारिश के अलावा - लेकिन मैं इसका न्याय नहीं कर सकता।)

+1

तो समस्या वास्तव में है कि आरईएसटी सेवा प्रदाता वर्तमान मानक का पालन नहीं कर रहा है। मैं उन्हें एक रेखा छोड़ दूंगा और देख सकता हूं कि वे क्या कर सकते हैं। (और यदि यह विफल रहता है तो मैं जीडीएटी कार्यान्वयन उधार लेगा।) जानकारी के लिए धन्यवाद! – jovnas

+1

तो ऐसा लगता है। शुभकामनाएं उन्हें मनाने! –

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