Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Importación archivo XML en Ruso

Estas en el tema de Importación archivo XML en Ruso en el foro de PHP en Foros del Web. Hola Tengo un problema al importar con PHP los datos en ruso de un archivo XML a mi BBDD. En el archivo XML cada Item ...
  #1 (permalink)  
Antiguo 07/01/2014, 06:48
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Importación archivo XML en Ruso

Hola

Tengo un problema al importar con PHP los datos en ruso de un archivo XML a mi BBDD.

En el archivo XML cada Item tiene varios idiomas y no tengo problemas con el francés, inglés, alemán, holandés, etc.. pero con el ruso no puedo o me aparecen ??????? o símbolos extraños.

En el archivo XMl el ruso al igual que los otros idiomas se pueden leer perfectamente, pues si no me equivoco están en codificación UTF8.


¿Como puedo hacer para importar correctamente los caracteres del ruso a mi bbdd MYSQL?

Hay algo que se me escapa y no se que es.

Gracias de antemano
  #2 (permalink)  
Antiguo 07/01/2014, 08:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Importación archivo XML en Ruso

La codificación y la collation de tu bbdd es?

Código MySQL:
Ver original
  1. SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "bbddname";

Código MySQL:
Ver original
  1. SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,
  2.        information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
  3. WHERE CCSA.collation_name = T.table_collation
  4.   AND T.table_schema = "bbddname"
  5.   AND T.table_name = "tablename";

Código MySQL:
Ver original
  1. SELECT character_set_name FROM information_schema.`COLUMNS` C
  2. WHERE table_schema = "bbddname"
  3.   AND table_name = "tablename"
  4.   AND column_name = "columnname";

http://dev.mysql.com/doc/refman/5.0/...-database.html
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 07/01/2014, 08:19
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Respuesta: Importación archivo XML en Ruso

Ya encontré la solución.


Solo hay que añadir esta linea

mysql_query("SET NAMES 'utf8'");


en mi archivo php.

La codificación en mi bbdd es UTF-8 Unicode y el juego de caracteres es utf8_bin

Última edición por javeaweb; 07/01/2014 a las 08:30
  #4 (permalink)  
Antiguo 07/01/2014, 08:36
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 9 meses
Puntos: 27
Respuesta: Importación archivo XML en Ruso

Vos queres visualizar o solo guardar los datos?
Si yo guardaste en la base de datos se visualizan bien?
Estas trabajando en linux o windows ? proba con forzar la cabera
Código HTML:
<META http-equiv="content-type" content="text/html; charset=utf-8"> 
Podes forzar el tipo de datos haciendo
Código PHP:
mysql_query("SET NAMES 'UTF8'"); 
antes de guardar.

Hay mas cosas con las que probar, ver como guarda la base, si los datos ya los estas sacando de ahi. Si lo datos que queres visulizar son los de la base.
  #5 (permalink)  
Antiguo 07/01/2014, 08:56
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Respuesta: Importación archivo XML en Ruso

Ahora ya visualizo el texto en mi bbdd correctamente, pero ahora me salen con erores al generar mi propio XML.
  #6 (permalink)  
Antiguo 07/01/2014, 09:03
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 9 meses
Puntos: 27
Respuesta: Importación archivo XML en Ruso

Código PHP:
<?php
header 
("Content-Type:text/xml");
?>
<your_xml_content>
</your_xml_content>
Código PHP:
<?php
header
('Content-Type: application/xml; charset=utf-8');
?>
<your_xml_content>
</your_xml_content>

Etiquetas: mysql, xml
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 02:31.