Foros del Web » Programando para Internet » PHP »

Caracteres Raros ?> en php

Estas en el tema de Caracteres Raros ?> en php en el foro de PHP en Foros del Web. Hola, estoy trabajando con PHP, AJAX y JSON y he tenido un problema, ya que la respuesta del servidor me sale con unos caracteres raros ...
  #1 (permalink)  
Antiguo 07/12/2010, 22:17
 
Fecha de Ingreso: junio-2010
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta Caracteres Raros ?> en php

Hola, estoy trabajando con PHP, AJAX y JSON y he tenido un problema, ya que la respuesta del servidor me sale con unos caracteres raros y me pone problemas para poder acceder al objeto json, es un problema de php, ya que probando el script me arroja esos caracteres no deseados. el error que me sale es:
Código:
?>{"id_est":"707","ncompleto":"MONROY MESTRE ANDREA CAROLINA","dir":"CLL13C N\u00b0 4 -15","tel":"","nac":"2000-04-22","edad":"10 años","dpto":"CESAR","mun":"VALLEDUPAR","npadre":"LILIBETH MONROY","telpadre":"3106454428","dirpadre":"0","ocuppadre":"0","lugartrabajopadre":"0","correopadre":"","nmadre":"MANUEL ANTONIO ROSALES","telmadre":"0","dirmadre":"","ocupmadre":"0","lugartrabajomadre":"","correomadre":"","estadocivilpadres":"","vivepadres":"","encontrado":"true"}
Donde los dos primeros caracteres son indeseados, a continuacion coloco el codigo que genera esta informacion

Código:
<?php

    ob_start();
    require_once("../scripts/funciones_utiles.php");
    require_once("../sesiones/sesion_admin.php");
	require_once '../clases/Db.class.php';
	require_once '../clases/Conf.class.php';

    $doc_estudiante = $_GET['txt_doc_id'];
    				
     $bd=Db::Crear(); 
     $sql="SELECT ID_ESTUDIANTE, APELLIDO1, APELLIDO2, NOMBRE1, NOMBRE2, DIRECCION_RESIDENCIA, TEL, NAC_DEPTO, NAC_MUN, FECHA_NACIMIENTO, NOMBRE_MADRE, TEL_MADRE, DIR_MADRE, OCUPACION_MADRE, LUGAR_TRABAJO_MADRE, CORREO_ELECTRONICO_MADRE, NOMBRE_PADRE, TEL_PADRE, DIR_PADRE, OCUPACION_PADRE, LUGAR_TRABAJO_PADRE, CORREO_ELECTRONICO_PADRE, ESTADO_CIVIL_PADRES, VIVE_CON_PADRES FROM estudiante WHERE NRO_DOCUMENTO = '" . $doc_estudiante . "'"; 
     $stmt=$bd->ejecutar($sql); 
     $encontrado = (mysql_num_rows($stmt)>0)?'true':'false';                       						
          while ($x=$bd->obtener_fila($stmt,0))
          {       
                $id_est = $x['ID_ESTUDIANTE'];
                $apellido1 = $x['APELLIDO1'];
                $apellido2 = $x['APELLIDO2']; 
                $nombre1 = $x['NOMBRE1']; 
                $nombre2 = $x['NOMBRE2'];  
                $dir = $x['DIRECCION_RESIDENCIA'];
                $nac = $x['FECHA_NACIMIENTO'];
                $tel = $x['TEL']; 
                $dpto = $x['NAC_DEPTO']; 
                $mun = $x['NAC_MUN'];                
                $npadre = $x['NOMBRE_PADRE'];
                $telpadre = $x['TEL_PADRE']; 
                $dirpadre = $x['DIR_PADRE']; 
                $ocuppadre = $x['OCUPACION_PADRE'];  
                $lugartrabajopadre = $x['LUGAR_TRABAJO_PADRE'];
                $correopadre = $x['CORREO_ELECTRONICO_PADRE'];                
                $nmadre = $x['NOMBRE_MADRE'];
                $telmadre = $x['TEL_MADRE']; 
                $dirmadre = $x['DIR_MADRE']; 
                $ocupmadre = $x['OCUPACION_MADRE'];  
                $lugartrabajomadre = $x['LUGAR_TRABAJO_MADRE'];
                $correomadre = $x['CORREO_ELECTRONICO_MADRE'];                
                $estadocivilpadres = $x['ESTADO_CIVIL_PADRES'];
                $vivepadres = $x['VIVE_CON_PADRES'];
          }
          
          $bd=Db::Crear(); 
          $sql='SELECT NOMBRE_DEPARTAMENTO FROM departamentos WHERE ID_DEPARTAMENTO = ' . $dpto; 
          $stmt=$bd->ejecutar($sql); 
                                						
          while ($x=$bd->obtener_fila($stmt,0))
          {       
                $n_dpto = $x['NOMBRE_DEPARTAMENTO'];                                                   
          }
          
          
          $bd=Db::Crear(); 
          $sql='SELECT NOMBRE_MUNICIPIO FROM municipios WHERE ID_MUNICIPIO = ' . $mun; 
          $stmt=$bd->ejecutar($sql); 
                                						
          while ($x=$bd->obtener_fila($stmt,0))
          {       
                $n_mun = $x['NOMBRE_MUNICIPIO'];                                                   
          }
          
          $edad = calcular_edad($nac);          
          $ncompleto = $apellido1 . " " . $apellido2 . " " . $nombre1 . " " . $nombre2;

          if($encontrado == 'true')
          {
              $datos['id_est']=$id_est;  
              $datos['ncompleto']=$ncompleto;
              $datos['dir']=$dir;
              $datos['tel']=$tel;
              $datos['nac']=$nac;
              $datos['edad']=$edad . " a&ntilde;os";
              $datos['dpto']=$n_dpto;
              $datos['mun']=$n_mun;           
              $datos['npadre']=$npadre;
              $datos['telpadre']=$telpadre;
              $datos['dirpadre']=$dirpadre;
              $datos['ocuppadre']=$ocuppadre;
              $datos['lugartrabajopadre']=$lugartrabajopadre;
              $datos['correopadre']=$correopadre;          
              $datos['nmadre']=$nmadre;
              $datos['telmadre']=$telmadre;
              $datos['dirmadre']=$dirmadre;
              $datos['ocupmadre']=$ocupmadre;
              $datos['lugartrabajomadre']=$lugartrabajomadre;
              $datos['correomadre']=$correomadre;
              $datos['estadocivilpadres']=$estadocivilpadres;
              $datos['vivepadres']=$vivepadres;
              $datos['encontrado']=$encontrado;
           } 
           if($encontrado == 'false')
           {
              $datos['id_est']='';
              $datos['ncompleto']='-';
              $datos['dir']='-';
              $datos['tel']='-';
              $datos['nac']='-';
              $datos['edad']='-';
              $datos['dpto']='-';
              $datos['mun']='-';           
              $datos['npadre']='-';
              $datos['telpadre']='-';
              $datos['dirpadre']='-';
              $datos['ocuppadre']='-';
              $datos['lugartrabajopadre']='-';
              $datos['correopadre']='-';          
              $datos['nmadre']='-';
              $datos['telmadre']='-';
              $datos['dirmadre']='-';
              $datos['ocupmadre']='-';
              $datos['lugartrabajomadre']='-';
              $datos['correomadre']='-';
              $datos['estadocivilpadres']='-';
              $datos['vivepadres']='-';
              $datos['encontrado']=$encontrado;
           } 
                                        
          echo json_encode($datos);  
                    
    ob_end_flush();
?>
  #2 (permalink)  
Antiguo 08/12/2010, 00:18
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Respuesta: Caracteres Raros ?> en php

No sé si te servirá:

Código PHP:
Ver original
  1. //Código
  2. echo json_encode($datos);
Eso estaba metido en una función. De todas formas te dejo el enlace del caso: http://es.w3support.net/index.php?db=so&id=658040
  #3 (permalink)  
Antiguo 08/12/2010, 13:12
 
Fecha de Ingreso: noviembre-2010
Mensajes: 47
Antigüedad: 13 años, 5 meses
Puntos: 2
Respuesta: Caracteres Raros ?> en php

Ps debes mirar que tipo de charset estás usuando en tu aplicación, para aceptar caracteres del español como eñes, tildes u otros generalmente se usa la utf-8.

saludos

Etiquetas: json, php-mysql
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 08:02.