2017-01-24 2 views
-2

이 URL은 https://plus.google.com/+pitneybowes이며, 여기서 + 기호로 묶습니다. 나는 내 코드 앵커 다케URL을 공백 문자 % 20으로 바꿉니다.

이 URL을 사용했다하지만 난 내 코드를 실행하고 브라우저에서 볼 때 그것은 내가 URL에서 + 기호를 원하는이 https://plus.google.com/%20pitneybowes

로 대체 얻을. 필요하다. 이 문제를 해결하는 방법?

+0

당신은 우리가 코드를 볼 수 – KDOT

+0

우리 현재의 코드를 제공 할 수 있습니까? – Kaylined

+0

window.location.href = "http://plus.google.com/+pitneybowes"를 사용하여 url을 호출했습니다. + 기호는 % 20으로 대체됩니다. –

답변

0

URL specification에 따르면 %20+은 이스케이프 된 공간 (ASCII 32)의 동일한 표현입니다. 브라우저에서 %20 또는 +을 표시하는지 여부는 구현에 따라 다릅니다.

귀하의 사이트는이 두 가지를 모두 처리 할 수 ​​있도록 설계되어야합니다. 또는 실제 URL은 원시 URL로 작동해서는 안되며 이스케이프 처리되지 않은 파싱 된 URL은 두 경우 모두 공백을 포함해야합니다.

실제로 공간을 +으로 표현하도록 웹 사이트를 코딩하고 있는데, 이것이 어떻게 든 중요한 일이라면, 호환성 문제에 대해 스스로를 설정하고 있습니다.

URL에 실제로 +이 필요하면 (이스케이프 처리되지 않음) 16 진수 코드는 %2B입니다.

따라서

Print(UrlEncode("This is a test")); = "This+is+a+test" 
             or "This%20is%20a%20test" 

Print(UrlDecode("This%20is+a%20test")) = "This is a test" 

Print(UrlEncode("What is 2+2?")  = "What+is+2%2B2%3F" 
-1

urlencode를 사용하여 URL을 인코딩 할 수 있습니다. 디코딩은 자동으로 발생하며 $ _GET에서 값을 가져올 수 있습니다.