दिलचस्प पोस्ट
स्ट्रिंग सी ++ में दो बार कन्वर्ट? वैरिएबल AJAX फ़ंक्शन से वापस नहीं मिलता है पायथन: बाइंडिंग सॉकेट: "पता पहले से उपयोग में है" वर्तमान जीएमटी विश्व समय प्राप्त करना "अनुपस्थित रिटर्न स्टेटमेंट" के भीतर अगर / के लिए / जबकि बाइनरी और पाठ मोड में लिखे गए फ़ाइलों के बीच का अंतर एंड्रॉइड स्टूडियो 2.0 – ऐप के पहले रन पर पॉज़ / व्हाइट स्क्रीन Symfony2 विस्तारित DefaultAuthenticationSuccessHandler चेतावनी: अलग-अलग दृश्य नियंत्रकों पर दृश्य नियंत्रक को दर्शाता है निराश एक जावा कार्यक्रम में एक और जार निष्पादित करें विंडोज फोन 7 बंद आवेदन सी ++ सीखने से पहले सी सीखना चाहिए? सेलेनियम चेकबॉक्स विशेषता "चेक" क्या आपके पास एकाधिक $ (दस्तावेज़) हो सकता है .ready (function () {…}); वर्गों? स्ट्रिंग मान का उपयोग करके एक चर नाम बनाना

प्लस साइन इन क्वेरी स्ट्रिंग

मेरे पास सी # और एएसपी.एन. का इस्तेमाल करते हुए एक वेबएप है। मैंने एक प्लस (+) चिह्न के साथ क्वेरी स्ट्रिंग में एक पैरामीटर मान रखा है लेकिन प्लस चिह्न गायब हो जाते हैं।

क्वेरी स्ट्रिंग में गायब होने के बिना मैं प्लस चिह्न (+) को कैसे शामिल कर सकता / सकती हूं?

कृपया सलाह दें।

धन्यवाद।

संपादित करें: UrlEncode के साथ जोड़ा गया कोड

string str = Server.UrlEncode(Requery.QueryString["new"]); 

वेब के समाधान से एकत्रित समाधान "प्लस साइन इन क्वेरी स्ट्रिंग"

+ संकेत क्वेरी स्ट्रिंग में एक अर्थ का अर्थ है। यह एक स्थान का प्रतिनिधित्व करने के लिए प्रयोग किया जाता है क्वेरी स्ट्रिंग में अर्थपूर्ण महत्व वाले एक अन्य वर्ण है & जो क्वेरी स्ट्रिंग में विभिन्न var=value जोड़े को अलग करने के लिए उपयोग किया जाता है।

अधिकांश सर्वर साइड लिपियों का उपयोग करने से पहले क्वेरी पैरामीटर को डीकोड करना होगा, ताकि एक + को अंतरिक्ष में ठीक से कनवर्ट किया जा सके। अब, यदि आप क्वेरी स्ट्रिंग में उपस्थित होने के लिए एक शाब्दिक + चाहते हैं, तो आपको इसके बजाय %2B को निर्दिष्ट करना होगा।

+ क्वेरी स्ट्रिंग में एक स्थान के लिए यूआरएल-डीकोड है। क्वेरी स्ट्रिंग में %2B यूआरएल-डीकोड किया गया है जो कि + साइन में है

बीच में अंतर देखें

http://www.google.com/search?q=foo+bar

तथा

http://www.google.com/search?q=foo%2Bbar

उपरोक्त उदाहरणों में, Google की सर्वर स्क्रिप्ट क्वेरी पैरामीटर यूआरएल-डीकोडिंग है और फिर खोज करने के लिए उनका उपयोग कर रहा है।

यूआरएल-एन्कोडिंग कुछ भी नहीं है, बल्कि विशेष चिह्न के हेक्स-कोड के बाद % चिह्न है। उदाहरण के लिए, हम जानते हैं कि A का हेक्स कोड 0x41 (दशमलव: 65) है। इसे इस्तेमाल करे:

http://www.google.com/search?q=%41

उम्मीद है कि यह यूआरएल एन्कोडिंग स्पष्ट बनाता है।

इसलिए, यदि आप चाहते हैं कि जब एक जावास्क्रिप्ट यूआरएल-डीकोडिंग के बाद क्वेरी मापदंडों के साथ एक यूआरएल को + लिंक कर रहा है + और एक सर्वर साइड स्क्रिप्ट यूआरएल-डीकोडिंग के बाद प्रोसेस करेगा, तो आपको यूआरएल में यूआरएल-एन्कोड करना चाहिए। HTTP का उपयोग करने से पहले यूआरएल अनुरोध प्राप्त करता है ताकि सभी + चिह्नों को %2B कनवर्ट कर दिया जाता है जब अनुरोध सर्वर साइड स्क्रिप्ट पर पहुंच जाता है अब जब सर्वर साइड स्क्रिप्ट URL- क्वेरी स्ट्रिंग को डीकोड करते हैं, तो सभी %2B को वापस + संकेत मिलता है जो कि आप चाहते हैं।

जावास्क्रिप्ट में एनकोड यूआरएल देखें ? कैसे जावास्क्रिप्ट का उपयोग कर पैरामीटर यूआरएल-सांकेतिक शब्दों में बदलना सीखने के लिए वहाँ चर्चा से लघु उत्तर:

 var encodedURL = "http://example.com/foo.php?var=" + encodeURIComponent(param); 

आपको अपनी क्वेरी स्ट्रिंग मानों को यूआरएलएनकोड करना चाहिए ताकि यह सुनिश्चित किया जा सके कि कोई विशिष्ट अक्षर खो नहीं रहे हैं।

एचटीएमएल यूआरएल एन्कोडिंग संदर्भ देखें

आपको + साइन-इनोड करना आवश्यक है – इसका मान% 2B होना चाहिए

मैं अपने पिछले कथन को बदल दूंगा ताकि कोई भी भ्रमित न हो जाए!

Server.UrlEncode का उपयोग करके अपना यूआरएल बनाएं। जैसे

 string myUrl = "http://myurl?param1=" + Server.UrlEncode("my+param+1"); 

अन्य आसान तरीका है, Request.Url.ToString().Substring(Request.Url.ToString().IndexOf("=") + 1) यह मानते हुए कि मेरा यूआरएल, http://localhost/MyApp/Activate.aspx?ActivationCode=cHbtqH9P2dDZkx/mYUgFFo7nrNqSFgqdPisAzzu5/nwlEYDOHI+CQw==

आपको पैरामीटर भेजने से पहले, आपको जांचना होगा कि पैरामीटर में प्लस चिह्न है, अगर आपको एक झंडे की जगह की आवश्यकता है, उदाहरण के लिए: पैरामीटर है: klasjdlkasd + djid3223 आप इसे प्रतिस्थापित कर सकते हैं: klasjdlkasdFLAGdjid3223

और जब आप कन्वर्ट करते हैं, तो आपको किसी कोण को बदलने की ज़रूरत है

klasjdlkasd + djid3223

इसका समाधान हमेशा शामिल होता है। जब आप क्वेरीस्ट्रिंग का अनुरोध करते हैं तो ("", "+") को बदलें

स्ट्रिंग s = Request.QueryString ["id"]। ट्रिम ()। बदलें ("", "+");

स्रोत: http://www.webmasterworld.com/forum47/3238.htm

यह कोशिश करो, यह मेरे लिए काम करता है:

 Request.QueryString["new"].Trim(); 

डिक्रिप्ट Funcation में इस लाइन जोड़ें:

 strText = strText.Replace(" ", "+");