url 인코딩 js url 매개변수 전송 중국어 왜곡 솔루션_javascript 기술
- WBOY원래의
- 2016-05-16 18:29:431279검색
1. 구성 파일 web.config 섹션에 전체 웹사이트의 인코딩 방법을 추가합니다.
이와 같이 매개변수는 gb2312의 중국어 인코딩 방식으로 전송됩니다. 일반 기본값은 utf-8입니다.
2. 매개변수를 전달할 때는 먼저 인코딩된 후 전송되고, 수신할 때는 먼저 인코딩된 후 수신됩니다.
string mm=Server.URLEncode(you);
Response.Redirect(index.aspx?mm= mm)
그런 다음 수신 페이지에서 디코딩합니다.
string mm = Server. URLDecode(Requeext.querystring(mm));
JavaScript에서 URL 문자열을 인코딩하는 방법에는 escape(), encodeURI() 및 encodeURIComponent()가 있습니다. 이러한 인코딩은 서로 다른 역할을 합니다.
escape() 메서드:
ISO 라틴 문자 집합을 사용하여 지정된 문자열을 인코딩합니다. 모든 공백, 구두점, 특수 문자 및 기타 비ASCII 문자는 %xx 형식의 문자 인코딩으로 변환됩니다(xx는 문자 집합 테이블에 있는 문자 인코딩의 16진수와 동일합니다). 예를 들어 공백 문자에 해당하는 인코딩은 입니다.
이 메소드로 인코딩되지 않는 문자: @ * /
encodeURI() 메소드:
URI 문자열을 UTF-8 인코딩 형식을 사용하여 이스케이프 형식 문자열로 변환합니다.
이 방법으로 인코딩되지 않는 문자: ! @ # $& * ( ) = : / ? '
encodeURIComponent() 방법:
UTF-8 인코딩 형식을 사용하여 URI 문자열을 이스케이프로 변환합니다. 형식 문자열. encodeURI()와 비교하여 이 메서드는 / 및 기타 문자와 같은 더 많은 문자를 인코딩합니다. 따라서 문자열에 URI의 여러 부분이 포함되어 있으면 이 방법을 사용하여 인코딩할 수 없습니다. 그렇지 않으면 / 문자가 인코딩된 후 URL에 오류가 표시됩니다.
이 방법으로 인코딩되지 않는 문자: ! * ( ) '
따라서 중국어 문자열의 경우 문자열 인코딩 형식을 UTF-8 형식(예: 원본 페이지 및 target 페이지의 문자셋이 일치하는 경우) Escape만 사용하면 됩니다. 페이지가 GB2312 또는 기타 인코딩이고 매개변수를 허용하는 페이지가 UTF-8로 인코딩된 경우 encodeURI 또는 encodeURIComponent를 사용해야 합니다.
또한 javascript1.5 이후에 encodeURI/encodeURIComponent가 도입되었으며, javascript1.0에서는 escape가 가능했습니다.
전달 매개변수: encodeURI("url 매개변수")를 사용하여 URL을 인코딩합니다.
수신 매개변수: decodeURI("received value")를 사용하여 디코딩합니다.
성명:본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.