Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema con codificación de texto

Estas en el tema de Problema con codificación de texto en el foro de Frameworks JS en Foros del Web. Hola compañer@s buen día a tod@s!! El problema es el siguiente uso un script para usar una div como iframe, que encontré en este mismo ...
  #1 (permalink)  
Antiguo 06/11/2010, 22:38
 
Fecha de Ingreso: septiembre-2008
Mensajes: 66
Antigüedad: 15 años, 7 meses
Puntos: 2
Problema con codificación de texto

Hola compañer@s buen día a tod@s!!

El problema es el siguiente uso un script para usar una div como iframe, que encontré en este mismo foro lo muestro

ajax.js
Código:
document.write("<p>Espere mientras carga la p&aacute;gina.</p>");

function loadurl(url,id){
	var pagecnx = createXMLHttpRequest();
	pagecnx.onreadystatechange=function(){
		if (pagecnx.readyState == 4 && (pagecnx.status==200 || window.location.href.indexOf("http")==-1))
		document.getElementById(id).innerHTML=pagecnx.responseText;
	}
	pagecnx.open('GET',url,true)
	pagecnx.send(null)
}

function loadurlkey(e,url,id){
	tecla = (document.all) ? e.keyCode : e.which;
	if (tecla==13)
		loadurl(url,id);
}

function createXMLHttpRequest(){
	var xmlHttp=null;
	if (window.ActiveXObject) 
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	else if (window.XMLHttpRequest) 
		xmlHttp = new XMLHttpRequest();
	return xmlHttp;
}
y así lo hago funcionar

1.php

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title>Untitled Document</title>
</head>

<body>
<div id="main_descriptor">
<noscript>JavaScript está desactivado, AJAX no podrá ser usado</noscript>
<script src="ajax.js" type="text/javascript"></script> 
</div>

<a href="browser.php'" onclick="loadurl('browser.php','main_descriptor'); return false" onkeypress="loadurlkey(e,browser.php','main_descriptor')">página 1</a>

<a href="ini.php'" onclick="loadurl('ini.php','main_descriptor'); return false" onkeypress="loadurlkey(e,ini.php','main_descriptor')">página 1</a>

</body>
</html> 
Donde main_descriptor es la div que la hace de iframe y las paginas .php las que tienen el contenido a mostrar.
Hasta ahí todo funciona perfecto, el problema radica en que cuando hago una consulta a una BD (MySQL) y los trato de mostrar pasando dicha página por el script los acentos (tildes) no salen si no pone un " � ". Creo yo que el error está en el script ajax.js, ya que cuando hago la consulta directa en la página sin pasarla por el script me sale bien el texto, ya he buscado y no encuentro una solución para dicho problema, si alguien me puede echar la mano se lo agradecería demasiado.

Sin más por el momento me despido agradeciendo de antemano su ayuda.
  #2 (permalink)  
Antiguo 07/11/2010, 17:33
 
Fecha de Ingreso: diciembre-2007
Mensajes: 110
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Problema con codificación de texto

Una respuesta muy vaga, pero......probaste de usar todo con UTF-8?
  #3 (permalink)  
Antiguo 07/11/2010, 20:00
 
Fecha de Ingreso: septiembre-2008
Mensajes: 66
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Problema con codificación de texto

nop no funcionó se quta el simbolo del rombo pero sigue sin aparecer el acento, alguien??? por favor
  #4 (permalink)  
Antiguo 07/11/2010, 20:49
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años
Puntos: 43
Respuesta: Problema con codificación de texto

GsutavoDeLanus tiene razon aplicale UTF8 pero a TODO. (PHP, Base de Datos, AJAX, HTML, etc. ) y olvidate de los simbolos raros, te lo digo por experiencia.
  #5 (permalink)  
Antiguo 08/11/2010, 01:05
 
Fecha de Ingreso: septiembre-2008
Mensajes: 66
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Problema con codificación de texto

Apliqué todo a UTF-8 Y seguía saliendo igual, puede corregir el problema usando la función htmlentities(); para pasar los acentos y carácteres especiales a sus códigos correspondientes. quedó de esta forma
Código PHP:
<?php 
$empres 
="México DF.";
$empresa htmlentities($empres);
header("Content-type: text/html; encoding: UTF-8"); 
iconv_set_encoding('internal_encoding''utf-8');

// si hago un echo ya salen correctamente los acentos por el htmlentities(); 
echo "$empresa";?>
el output es

México DF. lo cual ya queda bien

Gracias de todas formas por su ayuda!!!

Creo que el tema resulto siendo php.
  #6 (permalink)  
Antiguo 08/11/2010, 07:02
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años
Puntos: 43
Respuesta: Problema con codificación de texto

Algo debe faltar codificar a UTF8. Debe funcionar, has invetigado para que se usa htmlentities? Eso no soluciona el problema para tildes.

Con tu codigo me muestra así: México DF. Apesar de que el PHP está en UTF8.
Yo uso el servidor web Resin, en el archivo resin.conf se configura para que codifique a UTF8. Apache tambien debe tener. Despues de esto me mostró correcto.
  #7 (permalink)  
Antiguo 08/11/2010, 20:12
Avatar de iandrade  
Fecha de Ingreso: septiembre-2006
Ubicación: Xalapa, Veracruz, MÉXICO.
Mensajes: 171
Antigüedad: 17 años, 7 meses
Puntos: 6
Respuesta: Problema con codificación de texto

Creo que cuando se refieren que todo a UTF-8 no es solo en la cabecera de salida, si no que en la codificacion de cada archivo, y estructura en la base de datos. Al momento de darle guardar como verifica si hay opcion de guardarlo como utf-8.
__________________
No todo lo que se hace en segundo plano es AJAX

Etiquetas: ajax
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 02:31.