Está usted en Indice > Construcción > Lenguajes > ASP > Lecciones y Paso a Paso > Codificación de URLs
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Codificación de URLs


Server.URLEncode

Cuando utilices páginas con paso de variables entre ellas (como parámetros en la URL) es importante que tengas en cuenta que el navegador Netscape no será capaz de interpretar caracteres especiales como espacios, guiones, o la letra Ñ. Esta caracteristica puede evitarse utilizando el método URLencode del objeto server mediante la cual se puede formatear cualquier cadena con caracteres de escape que serán correctamente procesados por los dos navegadores más conocidos del mercado.

Por citar un ejemplo el valor "MªAngeles Muñoz" se convertiría -utilizando URLEncode- en "M%AAAngeles+Mu%F1oz"


Página de envio de datos: envio.asp

<html>
<head>
<title>Datos personales</title>
</head>
<body>
Enlace a la <a href="test.asp?nombre=MªAngeles Muñoz">página de pruebas</a>
</body>
</html>

Página de recepción de datos: test.asp

<html>
<head>
<title>Datos personales</title>
</head>
<body>
El nombre recibido es: <% response.write request.querystring("nombre") %>
</body>
</html>

Si ejecutas el enlace al que apunta esta página, verás que con Netscape se produce un error de tipo 400 Petición errónea

La sentencia correcta debería haber sido:

Enlace a la <a href="test.asp?nombre=<%=server.URLEncode("MªAngeles
Muñoz")%>">página de pruebas</a>

Observa en la siguiente imagen la diferencia en la URL respecto a la imagen anterior (incorrecta)


Codificación de carácteres en formato HTML

El concepto inverso al explicado anteriormente también puede ser necesario aplicarlo en los desarrollos Web. Para ello utilizaremos el método HTMLEncode del objeto Server mediante el cual podremos mostrar una cadena con los caracteres de escape que se utilizan en HTML.

Un ejemplo de la utilidad de HTMLEncode, lo tenemos cuando se desea mostrar un texto recibido por querystring como valor de un objeto de un formulario HTML.

Sigue el siguiente ejemplo para ponerlo en práctica:
Formulario de recepción de datos: verDatos.asp

<html>
<head>
<title>Datos personales</title>
</head>
<body>
<form name="form1" action="verDatos.asp" method="get">
Nombre: <input type ="text" name="nombre" value=
"<%=Server.HTMLencode(request.querystring("nombre"))%>"> <br>
Dirección: <input type ="text" name="direccion" value=
"<%=Server.HTMLencode(request.querystring("direccion"))%>"> <br>
Aficiones:<input type ="text" name="aficiones" value=
"<%=Server.HTMLencode(request.querystring("aficiones"))%>"> <br>
<input type=submit>
</form>
</body>
</html>

 

 





Autor: Alex Morales
http://www.programacion.net/articulo/urlencode/

Usuarios que han visto este tema también han visto...

- Valor absoluto de un número
- Ajax y ASP. Ejemplo Simple de Uso
- Archivo Global.asa con ASP
- MapPath en ASP
- Subir ficheros al servidor mediante xelUpload y ASP


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 23-11-2008 a las 20:00:12