Programación General > Visual Basic 6.0 e inferiores
Duda De Caracteres
ciber_lep:
Listo he encontrado la solucion
pero claro voy a usar la funcion que Angel_K_ido me proporciono
solo que la codificacion que proponen es HTML_NOMBRE Y HTML_CODIGO
pero voy a utilizar la CODIFICACION HTML_HEX que el navegador reconoce como
%ALGUNCODIGO_HEXADECIMAL
por ejemplo %40 = @
y no tendre problemas de cortamiento
Gracias por su ayuda.
Mollense:
Hola viejo, mirá, estuve toqueteando un poco y llegue a hacerlo funcionar con las siguientes correspondencias (Solamente probando en el navegador):
--- Citar ---á = %E1
é = %E9
í = %ED
ó = %F3
ú = %FA
Á = %C1
É = %C9
Í = %CD
Ó = %D3
Ú = %DA
ñ = %F1
Ñ = %D1
--- Fin de la cita ---
Por lo que tu ejemplo quedaría así:
--- Código: Text ---localhost/pagina/carga.php?campo1=auzl&campo2=%F1a%F1o
Me parece que me voy a instalar Visual Basic :comp:
Probalo a ver que pasa.-
Saludos
Mollense:
Buenas de nuevo...
Acabo de apropiarme (Con fin educativo) de dos funciones que te muestro a continuación:
--- Código: Text ---<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es"> <head> <title>Codificador y descoficador de cadena de texto a (o desde) formato URL</title> <script type="text/javascript"> function URLEnc( ){ var nocodificar = "0123456789"+"ABCDEFGHIJKLMNOPQRSTUVWXYZ"+"abcdefghijklmnopqrstuvwxyz" +"-_.!~*'()"; var HEX = "0123456789ABCDEF"; var textoAcodificar = document.Form1.encode.value; var codificado = ""; for (var i = 0; i < textoAcodificar.length; i++ ) { var ch = textoAcodificar.charAt(i); if (ch == " ") { codificado += "+"; } else if (nocodificar.indexOf(ch) != -1) { codificado += ch; } else { var charCode = ch.charCodeAt(0); if (charCode > 255) { alert( "Caracter Unicode '"+ch+"' no puede ser codificado utilizando la codificación URL estandar.\n" + "(sólo soporta caracteres de 8-bit.)\n" + "Será sustituido por un símbolo de suma (+)." ); codificado += "+"; } else { codificado += "%"; codificado += HEX.charAt((charCode >> 4) & 0xF); codificado += HEX.charAt(charCode & 0xF); } } } document.Form1.decode.value = codificado; return false; }; function URLDec( ){ var HEXCHARS = "0123456789ABCDEFabcdef"; var codificado = document.Form1.decode.value; var textoAcodificar = ""; var i = 0; while (i < codificado.length) { var ch = codificado.charAt(i); if (ch == "+") { textoAcodificar += " "; i++; } else if (ch == "%") { if (i < (codificado.length-2) && HEXCHARS.indexOf(codificado.charAt(i+1)) != -1 && HEXCHARS.indexOf(codificado.charAt(i+2)) != -1 ) { textoAcodificar += unescape( codificado.substr(i,3) ); i += 3; } else { alert( 'Bad escape combination near ...' + codificado.substr(i) ); textoAcodificar += "%[ERROR]"; i++; } } else { textoAcodificar += ch; i++; } } document.Form1.encode.value = textoAcodificar; return false; }; </script> </head> <body> <form name="Form1" onsubmit="return false;" > <p> Descodificado:<input name="encode" size="50" value=""> </p> <p> Codificado:<input name="decode" size="50" value=""> </p> <p> <input value="URLEncode" type="button" onclick="return URLEnc()"> <input value="URLDecode" type="button" onclick="return URLDec()"> </p> </form> </body> </html> Lo he probado y funciona perfecto.
También hechale una mirada a esto
Salute :beer:
Mollense:
--- Cita de: "ciber_lep" --- Listo he encontrado la solucion
pero claro voy a usar la funcion que Angel_K_ido me proporciono
solo que la codificacion que proponen es HTML_NOMBRE Y HTML_CODIGO
pero voy a utilizar la CODIFICACION HTML_HEX que el navegador reconoce como
%ALGUNCODIGO_HEXADECIMAL
por ejemplo %40 = @
y no tendre problemas de cortamiento
Gracias por su ayuda.
--- Fin de la cita ---
:P Jaja, no había visto tu post. y yo seguia buscando info... :P
ciber_lep:
Asi Es :D pero igual esas ideas son muy buenas
Gracias sinceramente por tu ayuda.
:D
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa