Foros del Web » Programando para Internet » Javascript »

parámetros con acentos

Estas en el tema de parámetros con acentos en el foro de Javascript en Foros del Web. tengo un problema al utilizar una serie de variables, que contienen acentos. Por ejemplo, para poner la variable var a = exploración , me imprimiría: ...
  #1 (permalink)  
Antiguo 07/07/2011, 04:46
 
Fecha de Ingreso: junio-2009
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 7
parámetros con acentos

tengo un problema al utilizar una serie de variables, que contienen acentos. Por ejemplo, para poner la variable var a = exploración, me imprimiría: exploración.
¿cómo soluciono esto?.... seguro que es una tontería de novato. ¡ayuda, por favor!
  #2 (permalink)  
Antiguo 07/07/2011, 05:29
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años
Puntos: 66
Respuesta: parámetros con acentos

podríamos ver el código? o una parte?
  #3 (permalink)  
Antiguo 07/07/2011, 07:21
 
Fecha de Ingreso: junio-2009
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 7
Respuesta: parámetros con acentos

utilizo éste método que saqué de algun lado por internet...
Código:
/*###############################################################################*/
/*######*/
/*######*/	/*	TOMA DE VARIABLES DESDE PÁGINA PRINCIPAL	*/
/*######*/	
/*######*/	cadVariables = location.search.substring(1,location.search.length);
/*######*/	arrVariables = cadVariables.split("&");
/*######*/	
/*######*/	for (i=0; i<arrVariables.length; i++) {
/*######*/		arrVariableActual = arrVariables[i].split("=");
/*######*/		if (isNaN(parseFloat(arrVariableActual[1])))
/*######*/			eval(arrVariableActual[0]+"='"+unescape(arrVariableActual[1])+"';");
/*######*/		else
/*######*/			eval(arrVariableActual[0]+"="+arrVariableActual[1]+";");
/*######*/	}
/*######*/
/*###############################################################################*/
/*######*/
/*######*/	/* Funcion para pasar variables de una página a otra */
/*######*/	function pasarVariables(pagina,nombres){
/*######*/	pagina +="?";
/*######*/	nomVec=nombres.split(",");
/*######*/	for(i=0;i<nomVec.length;i++)
/*######*/	pagina +=nomVec[i] + "=" + escape(eval(nomVec[i]))+"&";
/*######*/	pagina=pagina.substring(0,pagina.length-1);
/*######*/	location.href=pagina;
/*######*/	}
/*######*/
/*###############################################################################*/
  #4 (permalink)  
Antiguo 07/07/2011, 17:49
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: parámetros con acentos

buenas,
no comprendo muy bien lo que estas haciendo, ni la relación del script con lo que explicas al inicio. en teoría, al guardar tu script debes codificarlo con la misma codificación que utiliza el documento que carga el script. o por el contrario, en la etiqueta <script> debes usar el atributo charset para indicar la codificación del script. nótese que eso solamente sucede con archivos *.js.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 08/07/2011, 02:09
 
Fecha de Ingreso: junio-2009
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 7
Respuesta: parámetros con acentos

Esta función toma las variables desde un enlace de la siguiente manera: <a href="pagina.htm?varPescado=lenguado&varFruta=manz ana..."> y mediante otra función, coloco estas variables en una plantilla .
Tengo otro post abierto referente a eso... me dijeron q me mire el evento load() de jquery, pero... no acabo de comprenderlo muy bien. Se agradeceria algo de ayuda por ahí tambien....
  #6 (permalink)  
Antiguo 08/07/2011, 06:45
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: parámetros con acentos

lo que sucede es que debes decodificar los parámetros de la url. fijate que estas usando unescape, el cual lee el string como latin-1. tienes que usar decodeURI ya que este trata el string como utf-8.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 11/07/2011 a las 02:31 Razón: typo
  #7 (permalink)  
Antiguo 11/07/2011, 02:26
 
Fecha de Ingreso: junio-2009
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 7
Respuesta: parámetros con acentos

sabia que tenia q ser una tonteria... muchas gracias, zerokilled!

Etiquetas: acentos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:09.