Um das Problem der verstümmelten Parameterübertragung auf GB2312- und UTF-8-Seiten unter derselben ASP-Site zu lösen, müssen Sie nur die folgenden vier Punkte strikt befolgen. ① Verwenden Sie die richtige Codierung für die Auslagerungsdatei, gb2312 verwendet ANSI und utf-8 verwendet utf-8;
②.Stellen Sie die richtige CODEPAGE im ASP-Code ein, verwenden Sie 936 für gb2312 und 65001 für utf-8;
③.Stellen Sie den richtigen Zeichensatz im HTML-Code ein, verwenden Sie gb2312 für gb2312 und verwenden Sie utf-8 für utf-8;
④ Codieren Sie den übergebenen Parameterwert mit der Escape-Funktion von js.
Beispielcode
t1.asp (ANSI-Kodierung):
Kopieren Sie den Codecode wie folgt:
<%@LANGUAGE=VBSCRIPT CODEPAGE=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>
<Kopf>
<meta http-equiv=Content-Type content=text/html;
<title>Seite(gb2312)-vevb.com</title>
</head>
<Körper>
<script type=text/javascript>
document.write(<a href='t2.asp?keyword= + escape(木子屋) + '>木子屋</a>);
</script>
<br/>
<%
Response.Write(Request.QueryString(Schlüsselwort))
%>
</body>
</html>
t2.asp (utf-8-Kodierung):
Kopieren Sie den Codecode wie folgt:
<%@LANGUAGE=VBSCRIPT CODEPAGE=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>
<Kopf>
<meta http-equiv=Content-Type content=text/html;
<title>Seite(utf-8)-vevb.com</title>
</head>
<Körper>
<script type=text/javascript>
document.write(<a href='t1.asp?keyword= + escape(木子屋) + '>木子屋</a>);
</script>
<br/>
<%
Response.Write(Request.QueryString(Schlüsselwort))
%>
</body>
</html>