동일한 ASP 사이트의 gb2312 및 utf-8 페이지에서 잘못된 매개변수 전송 문제를 해결하려면 다음 네 가지 사항을 엄격하게 따르기만 하면 됩니다. ① 페이지 파일에 올바른 인코딩을 사용하십시오. gb2312는 ANSI를 사용하고 utf-8은 utf-8을 사용합니다.
②.ASP 코드에 올바른 CODEPAGE를 설정하고 gb2312에는 936을 사용하고 utf-8에는 65001을 사용합니다.
③.HTML 코드에 올바른 문자 세트를 설정하고, gb2312에는 gb2312를 사용하고, utf-8에는 utf-8을 사용합니다.
④ js의 이스케이프 기능을 사용하여 전달된 매개변수 값을 인코딩합니다.
샘플 코드
t1.asp(ANSI 인코딩):
다음과 같이 코드 코드를 복사합니다.
<%@LANGUAGE=VBSCRIPT 코드페이지=936%>
<%Session.CodePage=936%>
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml>
<머리>
<meta http-equiv=Content-Type content=text/html; charset=gb2312 />
<title>페이지(gb2312)-vevb.com</title>
</head>
<본문>
<스크립트 유형=텍스트/자바스크립트>
document.write(<a href='t2.asp?keyword= + escape(木子屋) + '>木子屋</a>);
</script>
<br/>
<%
Response.Write(Request.QueryString(키워드))
%>
</body>
</html>
t2.asp(utf-8 인코딩):
다음과 같이 코드 코드를 복사합니다.
<%@LANGUAGE=VBSCRIPT 코드페이지=65001%>
<%Session.CodePage=65001%>
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml>
<머리>
<meta http-equiv=Content-Type content=text/html; charset=utf-8 />
<title>페이지(utf-8)-vevb.com</title>
</head>
<본문>
<스크립트 유형=텍스트/자바스크립트>
document.write(<a href='t1.asp?keyword= + escape(木子屋) + '>木子屋</a>);
</script>
<br/>
<%
Response.Write(Request.QueryString(키워드))
%>
</body>
</html>