더하기 기호 쿼리 문자열
C # 및 asp.net을 사용하여 만든 웹 앱이 있습니다. 더하기 (+) 기호로 쿼리 문자열에 매개 변수 값을 배치했습니다. 그러나 더하기 기호가 사라집니다.
사라지지 않고 쿼리 문자열에 더하기 기호 (+)를 포함하려면 어떻게해야합니까?
조언하십시오.
감사.
편집 : UrlEncode로 코드 추가
string str = Server.UrlEncode(Requery.QueryString["new"]);
+
sign은 쿼리 문자열에서 의미 론적 의미를 갖습니다. 공간을 나타내는 데 사용됩니다. 쿼리 문자열에서 의미 론적으로 중요한 또 다른 문자는 쿼리 문자열 &
에서 다양한 var=value
쌍 을 구분하는 데 사용됩니다 .
대부분의 서버 측 스크립트는 쿼리 매개 변수를 사용하기 전에 디코딩하여 a +
가 공백으로 올바르게 변환되도록합니다. 이제 +
쿼리 문자열에 리터럴 을 표시하려면 %2B
대신 지정해야 합니다.
+
쿼리 문자열에 로그인은 공백으로 URL 디코딩됩니다. %2B
쿼리 문자열에서 + 기호로 URL 디코딩됩니다.
차이점보기
http://www.google.com/search?q=foo+bar
과
http://www.google.com/search?q=foo%2Bbar
위의 예에서 Google의 서버 스크립트는 검색어 매개 변수를 URL 디코딩 한 다음이를 사용하여 검색을 수행합니다.
URL 인코딩은 %
특수 문자의 16 진수 코드가 뒤 따르는 부호 일뿐입니다. 예를 들어 16 진수 코드 A
가 0x41 (10 진수 : 65) 임을 알고 있습니다. 이 시도:
http://www.google.com/search?q=%41
이것이 URL 인코딩이 명확 해지기를 바랍니다.
따라서 +
자바 스크립트가 +
쿼리 매개 변수에 서명이 있는 URL을 가져올 때 서명을 유지 하고 서버 측 스크립트가이를 URL 디코딩 한 후 쿼리 매개 변수를 처리하는 경우 URL에서 쿼리 매개 변수를 URL 인코딩해야합니다. HTTP get 요청을 사용하기 전에 요청이 서버 측 스크립트에 도달 할 때 모든 +
기호가 %2B
's 로 변환되도록 합니다. 이제 서버 측 스크립트가 쿼리 문자열을 URL 디코딩 할 때 모든 의가 원하는 기호 %2B
로 다시 변환됩니다 +
.
JavaScript에서 URL 인코딩을 참조하십시오 . JavaScript를 사용하여 매개 변수를 URL 인코딩하는 방법을 알아보십시오. 토론에서 짧은 대답 :
var encodedURL = "http://example.com/foo.php?var=" + encodeURIComponent(param);
특수 문자가 손실되지 않도록 쿼리 문자열 값을 URLEncode해야합니다.
+ 기호를 인코딩해야합니다. 값은 % 2B 여야합니다.
아무도 혼동하지 않도록 이전 진술을 변경합니다!
Server.UrlEncode를 사용하여 URL을 만듭니다. 예 :
string myUrl = "http://myurl?param1=" + Server.UrlEncode("my+param+1");
다른 간단한 방법은 Request.Url.ToString().Substring(Request.Url.ToString().IndexOf("=") + 1)
내 URL이http://localhost/MyApp/Activate.aspx?ActivationCode=cHbtqH9P2dDZkx/mYUgFFo7nrNqSFgqdPisAzzu5/nwlEYDOHI+CQw==
매개 변수를 보내기 전에 매개 변수에 더하기 기호가 포함되어 있는지 확인해야합니다. 예를 들어 하나의 플래그로 대체해야하는 경우 매개 변수는 다음과 같습니다. klasjdlkasd + djid3223 다음을 대체 할 수 있습니다. klasjdlkasdFLAGdjid3223
그리고 당신이 개종 할 때, 당신은 다시 교체해야합니다
klasjdlkasd + djid3223
이것을 시도해보십시오.
Request.QueryString["new"].Trim();
해결책은 쿼리 문자열을 요청할 때 항상 .Replace ( "", "+")를 포함하는 것입니다.
string s = Request.QueryString [ "id"]. Trim (). Replace ( "", "+");
출처 : http://www.webmasterworld.com/forum47/3238.htm
Decrypt Funcation에 다음 줄을 추가하십시오.
strText = strText.Replace(" ", "+");
참조 URL : https://stackoverflow.com/questions/6855624/plus-sign-in-query-string
'IT TIP' 카테고리의 다른 글
SQL Server 기본 문자 인코딩 (0) | 2020.12.29 |
---|---|
Git 저장소 외부에서`git diff --color-words`를 사용하는 방법은 무엇입니까? (0) | 2020.12.29 |
jquery 요소를 html 요소로 변환 (0) | 2020.12.29 |
어떻게 얻을 수 있습니까 (0) | 2020.12.29 |
Android에서 둥근 모양을 얻는 방법 (0) | 2020.12.29 |