Foros del Web » Programando para Internet » Javascript »

Caracteres raros en una ventana "alert"

Estas en el tema de Caracteres raros en una ventana "alert" en el foro de Javascript en Foros del Web. Hola a tod@s, estoy creando una alerta que aparece en pantalla cuando alguien visita mi blog con IE (para regañarle ). Lo he conseguido pero ...
  #1 (permalink)  
Antiguo 26/06/2006, 03:57
Avatar de alarga  
Fecha de Ingreso: junio-2003
Ubicación: Cádiz
Mensajes: 119
Antigüedad: 20 años, 10 meses
Puntos: 0
Pregunta Caracteres raros en una ventana "alert"

Hola a tod@s, estoy creando una alerta que aparece en pantalla cuando alguien visita mi blog con IE (para regañarle ). Lo he conseguido pero tengo el problema de que no salen correctamente las vocales acentuadas (á, é, ó, ...) ni ciertos signos (?). En su lugar aparecen cuadraditos.

He probado a usar <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">, tambien he puesto entidades en lugar de vocales acentuadas (p. ej. sustituyendo á por &aacute;) pero no he conseguido nada positivo.

¿Alguien sabe como se puede arreglar?
  #2 (permalink)  
Antiguo 26/06/2006, 04:00
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Yo utilizo está función:
Código:
	// funcion que sustituye caracteres especiales por su equivalente a utf
		
		function special_chars_2_utf($cadena)
		{
	// definicion de caracteres especiales y su equivalente a utf8

		$special_chars = array( 'á', 'é', 'í', 'ó', 'ú',
		                   		'Á', 'É', 'Í', 'Ó', 'Ú',
		                   		'à', 'è', 'ì', 'ò', 'ù',
		                   		'À', 'È', 'Ì', 'Ò', 'Ù',
		                   		'ñ', 'Ñ', 'ç', 'Ç', '·',
								'¡', '"' );
		                   
		$utf_chars = array('&aacute;', '&eacute;', '&iacute;', '&oacute;', '&uacute;',
		                   '&Aacute;', '&Eacute;', '&Iacute;', '&Oacute;', '&Uacute;',
		                   '&agrave;', '&egrave;', '&igrave;', '&ograve;', '&ugrave;',
		                   '&Agrave;', '&Egrave;', '&Igrave;', '&Ograve;', '&Ugrave;',
		                   '&ntilde;', '&Ntilde;', '&ccedil;', '&Ccedil;', '&middot;',
						   '&iexcl;', '&quot;' );
						   
			$resultado = str_replace($special_chars, $utf_chars, $cadena);
			
			return $resultado;
		}
En tu caso creo que tendrías que hacer la operación inversa. Un saludo.
  #3 (permalink)  
Antiguo 26/06/2006, 04:24
Avatar de alarga  
Fecha de Ingreso: junio-2003
Ubicación: Cádiz
Mensajes: 119
Antigüedad: 20 años, 10 meses
Puntos: 0
A ver si me he enterado, he puesto la funcion alert de la siguiente manera:
Código HTML:
alert(special_chars_2_utf("texto del mensaje"))
¿Es correcto?, pues ahora no aparece siquiera la ventana de alerta

Confírmame si la declaración de la función special_chars_2_utf está bien, me suena un poco raro eso de $cadena.

Gracias de todos modos.
  #4 (permalink)  
Antiguo 26/06/2006, 04:27
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
La función que te pasé es PHP. La llamada tendrías que hacerla así:
Código:
alert("<?php echo special_chars_2_utf("mensaje");?>");
Recuerda que tendrías que invertir la substitución. Cambia la línea del str_replace así:
Código:
$resultado = str_replace($utf_chars, $special_chars, $cadena);
  #5 (permalink)  
Antiguo 26/06/2006, 05:20
Avatar de alarga  
Fecha de Ingreso: junio-2003
Ubicación: Cádiz
Mensajes: 119
Antigüedad: 20 años, 10 meses
Puntos: 0
Exclamación

Acabaramos!

Entonces la pregunta que me hago ahora es: ¿se puede insertar código PHP en un blog de Blogger?. En caso afirmativo, ¿como?

Porque he mirado en la ayuda de Blogger y no dice nada.
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 21:49.