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

error de codificacion

Estas en el tema de error de codificacion en el foro de Frameworks JS en Foros del Web. hola saludos a todos espero me puedan ayudar en el siguiente problema: en mi sitio tengo una etiqueta <div></div> la cual se recarga cada 2 ...
  #1 (permalink)  
Antiguo 02/07/2009, 20:29
 
Fecha de Ingreso: abril-2009
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta error de codificacion

hola saludos a todos espero me puedan ayudar en el siguiente problema:

en mi sitio tengo una etiqueta <div></div> la cual se recarga cada 2 minutos y manda llamar un archivo php el cual contiene texto plano dicho texto contiene caracteres con la letra ñ y acentos pero al momento de mostrarmelos en el div me pone caracteres extraños en donde van las ñ y acentos. en la codificacion del sitio esta como utf-8, el archivo php hace una consulta a la base de datos que tambien esta en utf-8 todo esta bien en ese archivo solo que al ser mostrado dentro de la etiqueta div que es refrescado mediante ajax es donde me muestra mal los caracteres

el codigo del archivo ajax es el siguiente

Cita:
var seconds = 120;
var divid = "timediv";
var url = "mensajes.php";

function refreshdiv(){

var xmlHttp;
try{
xmlHttp=new XMLHttpRequest();
}
catch (e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){
alert("Tu explorador no soporta AJAX.");
return false;
}
}
}

fetch_unix_timestamp = function()
{
return parseInt(new Date().getTime().toString().substring(0, 10))
}

var timestamp = fetch_unix_timestamp();
var nocacheurl = url+"?t="+timestamp;

xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
document.getElementById(divid).innerHTML=xmlHttp.r esponseText;
setTimeout('refreshdiv()',seconds*1000);
}
}
xmlHttp.open("GET",nocacheurl,true);
xmlHttp.send(null);
}

window.onload = function startrefresh(){
setTimeout('refreshdiv()',seconds*1000);
}
el div que se recarga es el siguiente

<div name="timediv" id="timediv">

</div>

el ajax lo mando llamar desde el head con:
<script src="ajax.js" type="text/javascript"></script>

si le agrego el charset="utf-8" a esta etiqueta anterior como quiera me sigue el problema.

en la hoja de estilos css tambien le puse al principio el charset "utf-8"

y el problema sigue la verdad no se que pueda ser espero puedan ayudarme este problema solo esta dentro de esta etiqueta porque en lo que resta de la pagina si puedo utilizar bien esos caracteres como la ñ los acentos etc..

esto es lo que contiene el archivo php

Código PHP:
$str="";

    
$conn con_bdatos();
                  if (!
$conn)
                {
                    
abrir_main();
                echo 
"Error: No se pudo conectar a la base de datos intenta de nuevo mas tarde.";
                exit;
                }
                
$query="select nombre, mensaje from msjs order by id desc limit 0,15";
$consul=mysql_query($query);
if(!
$consul)
$str="Momentaneamente Fuera De Servicio";
else
{
$total=mysql_num_rows($consul);
for(
$i=0;$i<$total;$i++)
{
$fila=mysql_fetch_array($consul);
$auxstr="<b>".ucfirst($fila["nombre"]).":</b> ".ucfirst($fila["mensaje"])." | ";
$str=$str.$auxstr;
}
}
 
echo 
$str
estare pendiente a respuestas saludos =)
  #2 (permalink)  
Antiguo 03/07/2009, 08:19
TobyMudito
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: error de codificacion

prueba usando el charset=iso-8859-1 a mi me ha salvado la vida en varias ocasiones, jejejeje
  #3 (permalink)  
Antiguo 03/07/2009, 16:13
 
Fecha de Ingreso: abril-2009
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: error de codificacion

ya lo hice y sigue igual :S lo puse en el css en la primer linea
@charset=iso-8859-1; y nada aun me sigue mostrando los malos caracteres diferentes a la ñ y acentos ....
  #4 (permalink)  
Antiguo 03/07/2009, 18:19
 
Fecha de Ingreso: abril-2009
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: error de codificacion

ya lo pude solucionar el problema no estaba en el ajax estaba en el php solo use la funcion utf8_encode($str) y funciono bien...
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 17:20.