Ajax를 이용하여 서버에 요청을 보내고 중국어로 작성된 매개변수(GET 및 POST)를 운반할 때 URL과 관련된 인코딩 및 디코딩 기능을 사용하지 않았습니다.
그러나 매개변수는 여전히 서버에 정상적으로 전송되었고 서버의 PHP 스크립트에 의해 정상적으로 처리되었습니다.
여기서 디코딩 및 인코딩 작업이 브라우저와 서버에 의해 자동으로 수행되는지 묻고 싶습니다.
자동으로 수행되는 경우 인코딩 및 디코딩 기능을 수동으로 호출해야 하는 경우는 언제인가요?
UrlEncode를 사용하는 주요 목적은 매개변수가 URL의 일부로 잘못 구문 분석되는 것을 방지하는 것입니다. . .
이 인코딩은 우리가 흔히 말하는 문자열 인코딩과 다릅니다
일부 구조에는 배열과 같은 두 가지 이상의 인코딩 방법이 있습니다.
?a=1&a=2
?a[]=1&a[]=2
등. 이 때 서버에서 인식하는 인코딩 방법을 수동으로 작성해야 할 수도 있습니다.크롬과 같은 일부 브라우저는 자동으로 인코딩 및 디코딩을 수행하지만 모든 브라우저에서 이 작업을 수행하는 것은 아닙니다. 따라서 대부분의 경우 전달된 매개변수를 UrlEncode하세요. 저는 .NET 백엔드이고 기본적으로 한 번 디코딩됩니다.