Para resolver el problema de la transmisión de parámetros confusos en páginas gb2312 y utf-8 en el mismo sitio ASP, solo necesita seguir estrictamente los siguientes cuatro puntos. ① Utilice la codificación correcta para el archivo de página, gb2312 usa ANSI y utf-8 usa utf-8;
②.Establezca la PÁGINA DE CÓDIGOS correcta en el código ASP, use 936 para gb2312 y 65001 para utf-8;
③.Establezca el juego de caracteres correcto en el código HTML, use gb2312 para gb2312 y use utf-8 para utf-8;
④ Codifique el valor del parámetro pasado usando la función de escape de js;
Código de muestra
t1.asp (codificación ANSI):
Copie el código de código de la siguiente manera:
<%@LANGUAGE=PÁGINA DE CÓDIGOS VBSCRIPT=936%>
<%Session.CodePage=936%>
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transicional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml>
<cabeza>
<meta http-equiv=Tipo de contenido content=text/html charset=gb2312 />
<título>Página(gb2312)-vevb.com</título>
</cabeza>
<cuerpo>
<tipo de script=texto/javascript>
document.write(<a href='t2.asp?keyword= + escape(木子屋) + '>木子屋</a>);
</script>
<br/>
<%
Respuesta.Escribir(Solicitud.QueryString(palabra clave))
%>
</cuerpo>
</html>
t2.asp (codificación utf-8):
Copie el código de código de la siguiente manera:
<%@LANGUAGE=PÁGINA DE CÓDIGOS VBSCRIPT=65001%>
<%Session.CodePage=65001%>
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transicional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml>
<cabeza>
<meta http-equiv=Tipo de contenido content=text/html;charset=utf-8 />
<título>Página(utf-8)-vevb.com</título>
</cabeza>
<cuerpo>
<tipo de script=texto/javascript>
document.write(<a href='t1.asp?keyword= + escape(木子屋) + '>木子屋</a>);
</script>
<br/>
<%
Respuesta.Escribir(Solicitud.QueryString(palabra clave))
%>
</cuerpo>
</html>