Ver Mensaje Individual
  #27 (permalink)  
Antiguo 31/08/2011, 16:27
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 8 meses
Puntos: 1517
Respuesta: problema con valor de una variable.

Para que me entiendas mejor,

ANSI
Código PHP:
Ver original
  1. <?php
  2. $obj = new stdClass();
  3. $obj->missions = array(
  4.     array(
  5.         'idmission' => 6,
  6.         'name' => '¡Comparte y Crece!'
  7.     ),
  8.     array(
  9.         'idmission' => 7,
  10.         'name' => '¡Sé un buen vecino!'
  11.     )
  12. );
  13. echo json_encode($obj);
Imprime
Código HTML:
Ver original
  1. {"missions":[{"idmission":6,"name":null},{"idmission":7,"name":null}]}

UTF-8
Código PHP:
Ver original
  1. <?php
  2. $obj = new stdClass();
  3. $obj->missions = array(
  4.     array(
  5.         'idmission' => 6,
  6.         'name' => '¡Comparte y Crece!'
  7.     ),
  8.     array(
  9.         'idmission' => 7,
  10.         'name' => '¡Sé un buen vecino!'
  11.     )
  12. );
  13. echo json_encode($obj);

Imprime
Código HTML:
Ver original
  1. {"missions":[{"idmission":6,"name":"\u00a1Comparte y Crece!"},{"idmission":7,"name":"\u00a1S\u00e9 un buen vecino!"}]}

Vez como la codificación afecta la conversión a json. Si te fijas en el manual dice
Cita:
Iniciado por http://php.net/manual/en/function.json-encode.php
The value being encoded. Can be any type except a resource.

This function only works with UTF-8 encoded data.
Por lo que el problema es UTF-8, una forma de resolver el problema es usar utf8_encode y trabajar con la función o lo mejor es que los archivos sean utf-8 y todo lo demás
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos