서버에 http-get 요청을 수행 할 때 여전히 이해할 수없는 것이 있다면 JS 기능인 encodeURIcomponent를 사용하여 http-의 각 구성 요소를 인코딩 할 때 장점이 무엇입니까?encodeURIComponent가 정말 유용합니까?
일부 테스트하기 나는 (PHP를 사용하는) 서버가 http-get 요청의 값을 적절하게 얻는 것을 보았습니다. encodeURIcomponent를 사용하지 않으면! 분명히 클라이언트 레벨에서 여전히 특수 문자 &을 인코딩해야합니까? =/: 그렇지 않으면 "peace & love = virtue"와 같은 http-get 값은 하나의 단일 값 대신 http-get 요청의 새로운 키 값 쌍으로 간주됩니다. 하지만 encodeURIcompenent는 'è'와 같이 utf8_decode 함수를 사용하여 PHP 서버에서 디코딩되어야하는 % C3 % A8로 변환되는 많은 다른 문자도 인코딩합니다. PHP에서 그들을 점점 때 HTTP-얻을 요청의 모든 값이 인코딩 UTF8 있습니다에 encodeURIComponent를 사용하여
따라서 나는 매우 성가신 각 $ _GET 값 될 때마다 utf8_decode 함수를 호출해야합니다.
왜 & 만 인코딩 할 수 있습니까? =/: 문자?
도 참조 : JS encodeURIComponent result different from the one created by FORM 그것은 간단한 브라우저 FORM의 GET은 '€'와 같은 문자를 인코딩하기 때문에 encodeURIComponent 심지어 다른 방식으로, 제대로 인코딩하지 않음을 보여줍니다. 그래서 나는이 encodeURIComponent가 무엇을위한 것인지 궁금해한다. 인
그래서 기본적으로 encodeUriCompenent 사용을 피할 수 있다고 말하고 있습니까? 그리고 단순히 '&', '?', '=', '/', ':'와 같은 특수 문자를 인코딩하십시오. 이것은 근본적으로 지금 브라우저의 대다수를 위해 작동 할 것입니다. –
그것은 대다수의 브라우저에서 작동 할 것입니다.하지만 URL은 포럼/블로그/등등에 게시됩니다. 포럼/블로그/etc가 유니 코드가 아닌 경우 (내부적으로 사이트에 연결) 엉망이 될지도 .. –