Foros del Web » Programando para Internet » PHP »

problema charset en php y javascript

Estas en el tema de problema charset en php y javascript en el foro de PHP en Foros del Web. Hola que tal? Tengo algunas dudas con respecto al charset, la verdad aun no logro entender muy bien "como funciona", sin embargo e tratado de ...
  #1 (permalink)  
Antiguo 01/12/2007, 22:22
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 16 años, 10 meses
Puntos: 2
problema charset en php y javascript

Hola que tal?

Tengo algunas dudas con respecto al charset, la verdad aun no logro entender muy bien "como funciona", sin embargo e tratado de arreglar el siguiente problema que tengo...

A ver, tengo una pagina PHP (por ejemplo: datos.php), la cual genera un texto con la siguiente cabecera.
Código PHP:
header("Content-Type:text/html; charset=utf-8"); 
El texto que genera es por ejemplo:

Código PHP:
{"nombre" "Juan""edad" "20""direccion" "Algo con eñe"
Como ven, es una notación JSON, por lo que a través de otra pagina y realizando una petición con Ajax, manejo los datos de esta notación.

Como las peticiones con AJAX maneja los datos codificados en utf-8, la pagina datos.php también esta codificada en utf-8, sin embargo al mostrar por ejemplo la dirección, la "ñ" u otra vocal con acentos no la muestra correctamente.

En la pagina datos.php probé imprimiendo el texto de la siguiente manera:
Código PHP:
utf8_encode('{"nombre" : "Juan", "edad" : "20", "direccion" : "Algo con eñe"}'); 

Y al recibirla usando AJAX, la dirección la muestra correctamente...

Porque tuve que usar utf8_encode si la pagina datos.php se supone que estaba codificada en utf-8 ??????
__________________
KIBIT.cl
  #2 (permalink)  
Antiguo 02/12/2007, 12:49
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Re: problema charset en php y javascript

Hola Snd234, cómo vas??

Pues mira, decirte a ciencia cierta que pasa no sabría, pero la verdad, yo también manejo AJAX en mis sitios y ni he tenido problema con el charset... siempre lo defino en acá, y hasta ahora todo ha ido bien:

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=utf-8" />
<title>Blogcarxl</title>
</head> 
Quizás eso te pueda servir

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 02/12/2007, 13:11
Avatar de AR2RO  
Fecha de Ingreso: septiembre-2007
Ubicación: San Ramón, Costa Rica
Mensajes: 14
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: problema charset en php y javascript

Hola Snd234, a mí me pasaba lo mismo, y lo solucioné colocando otra codificación:

Código PHP:
header("Content-Type: text/html;charset=iso-8859-1"); 
Ahora todo me funciona perfectamente, espero que te funcione a ti también...

  #4 (permalink)  
Antiguo 02/12/2007, 13:42
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 16 años, 10 meses
Puntos: 2
Re: problema charset en php y javascript

Gracias por sus respuestas ;)

AR2RO, ya había probado con esa codificación y me había funcionado, pero quería tratar con utf-8, para entender bien como "funciona". Ya que lo encuentro raro, porque en la página donde genero la notación JSON le tengo:

Código PHP:
header("Content-Type: text/html;charset=utf-8"); 
Y luego genero la notación, entonces esa página estaría codificada en UTF-8, y al manipularla con AJAX (que también utiliza utf-8) debiera mostrarla correctamente (la pagina principal donde manipulo la notación recibida igual esta codificada en utf-8).


Pero si le aplico directamente la funcion utf8_encode(); esta la muestra perfectamente en la pagina principal.
__________________
KIBIT.cl
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 07:04.