Retroceder   Foros del Web > Programación para sitios web > PHP > PHP orientado a objetos

Respuesta
 
Herramientas Desplegado
Antiguo 23-abr-2008, 09:40   #1 (permalink)
Jesica no se puede cailificar en este momento
 
Fecha de Ingreso: agosto-2007
Mensajes: 41
Problemas con acentos

Hola gente!
les comento mi problema....
cuando convierto mi xml a objeto, y quiero recorrerlo, si hay alguna palabra con acento me la toma como null... o pone simbolos raros
les paso el codigo por si no soy muy clara

Código PHP:

//XML
$this->xmlValores="<xml><servicio><nombre>á</nombre></servicio></xml>";

public function 
ingresarServicios()
    {
//acá convierto el xml a objeto
    
$xmlsimplexml_load_string($this->xmlValores);
    
$obj=new Servicios();
    
$obj->setNombre($xml->servicio->nombre);// ya no toma el acento
    
$db=new DB();
    
$db->dbIngresarServicios($obj);
    } 
desde ya les agradezco su ayuda!!
Jesica está desconectado   Responder Citando
Antiguo 23-abr-2008, 09:52   #2 (permalink)
Moderador
GatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy pronto
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 11.283
Re: Problemas con acentos

Prueba usar utf8_decode en tu variable, ya que simplexml automáticamente convierte los datos a UTF8.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 23-abr-2008, 10:55   #3 (permalink)
Jesica no se puede cailificar en este momento
 
Fecha de Ingreso: agosto-2007
Mensajes: 41
Re: Problemas con acentos

Muchas gracias GatorV, con eso funciona bien, pero te tengo otra preguntita...
Hay alguna manera de hacerlo mas global? o para cada variable voy a tener que
usar utf8_decode ??
Saludos
Jesica está desconectado   Responder Citando
Antiguo 23-abr-2008, 11:07   #4 (permalink)
Moderador
GatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy pronto
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 11.283
Re: Problemas con acentos

Lamentablemente no, ya que la extensión SimpleXML convierte automáticamente la entrada en UTF8.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 23-abr-2008, 11:28   #5 (permalink)
Jesica no se puede cailificar en este momento
 
Fecha de Ingreso: agosto-2007
Mensajes: 41
Re: Problemas con acentos

mmmm no funciona tan bien como crei, si le paso el xml de la manera que mostre antes, funciona genial, si el xml lo armo con los datos que vienen del formulario, me carga otra vez los simbolos raros!!
Tendre que poner el utf8_encode en alguna otra parte???
Jesica está desconectado   Responder Citando
Antiguo 23-abr-2008, 11:45   #6 (permalink)
Moderador
GatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy pronto
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 11.283
Re: Problemas con acentos

Así es, tienes que usarlo en las variables que uses para armar tu XML, por ejemplo:
Código PHP:
$xml "<xml><servicio><nombre>" utf8_encode"mivar con acentos`aá" ) . "</nombre></servicio></xml>"
Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 23-abr-2008, 12:38   #7 (permalink)
Jesica no se puede cailificar en este momento
 
Fecha de Ingreso: agosto-2007
Mensajes: 41
Re: Problemas con acentos

//XML
$this->xmlValores="<xml><servicio><nombre>á</nombre></servicio></xml>";
$this->xmlValores=utf8_encode($this->xmlValores);

//acá convierto el xml a objeto
$xml= simplexml_load_string(u$this->xmlValores);

asi funciona perfecto, cuando pongo como en este caso fijo el valor del xml, pero si intento recibir el valor desde cliente (script que genera el xml y lo envia mediante ajax), me convierte cualquier cosa.
Es decir, el xml del ejemplo, inserta en la base de datos la letra á pero si el mismo xml viene desde el cliente, inserta unos simbolos raros (á)
Jesica está desconectado   Responder Citando
Antiguo 23-abr-2008, 14:18   #8 (permalink)
Moderador
GatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy pronto
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 11.283
Re: Problemas con acentos

Checa que tipo de codificación estas recibiendo de tu base de datos.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 19-may-2008, 08:54   #9 (permalink)
Jesica no se puede cailificar en este momento
 
Fecha de Ingreso: agosto-2007
Mensajes: 41
Respuesta: Problemas con acentos

Hola,
Gracias.
Sigo con el mismo problema, esto es lo que veo en el ddl de la base de datos:

CREATE TABLE `servicios` (
`id` int(11) NOT NULL auto_increment,
`nombre` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

lo mismo para todas las tablas.
Saludos
Jesica
Jesica está desconectado   Responder Citando
Antiguo 19-may-2008, 08:57   #10 (permalink)
Moderador
GatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy pronto
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 11.283
Respuesta: Problemas con acentos

Hola Jesica,

Revisa la codificación de tu pagina web, también tiene que ser UTF8, para que las variables sean enviadas correctamente.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 19-may-2008, 09:23   #11 (permalink)
Jesica no se puede cailificar en este momento
 
Fecha de Ingreso: agosto-2007
Mensajes: 41
Respuesta: Problemas con acentos

Muchas Gracias
Ya encontre el error, estaba recibiendo un xml sin encoding, le puse el encoding utf-8 al xml que viene del servidor y parece funcionar.
Muchisimas gracias por la disposición y por tu tiempo
Saludos!
Jesica
Jesica está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 09:25.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93