Foros del Web » Programando para Internet » PHP »

importar xml a mysql con caracteres especiales (solucionado)

Estas en el tema de importar xml a mysql con caracteres especiales (solucionado) en el foro de PHP en Foros del Web. Hola a todos llevo un par de horas con esto y nada. Importo un xml a mysql sin problemas. Pero me estoy volviendo loco con ...
  #1 (permalink)  
Antiguo 29/05/2011, 03:26
 
Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 22 años, 2 meses
Puntos: 0
importar xml a mysql con caracteres especiales (solucionado)

Hola a todos llevo un par de horas con esto y nada. Importo un xml a mysql sin problemas. Pero me estoy volviendo loco con los caracteres especiales. Me los muestras así:

régénérant -> y tendría que ser asi régénérant. Les pego el scrip:
El campo que me interesa es name

Código:
require 'conectar.php';    

   $sql = "CREATE TABLE `tablax` (
  `id` int(4) unsigned NOT NULL auto_increment,
  `name` varchar(80) character set utf8 default NULL,
  `productUrl` varchar(300) default NULL,
  `imageUrl` varchar(200) default NULL,
  `merchantCategoryName` varchar(50) default NULL,
  `programLogoPath` varchar(50) default NULL,
  `price` varchar(5.2) default NULL,
  `previousPrice` varchar(5.2) default NULL,
  `brand` varchar(80) default NULL,
  PRIMARY KEY  (`id`))";
$retval = mysql_query ($sql);
if (! $retval)
{
die("No es posible crear la tabla:". mysql_error());
}
echo 'Se volvio ha crear la tabla correctamente a las: ';
echo date('h:i:s') . '</br></br>';
sleep(1);
  
//importar el xml que esta en utf-8

$xml = simplexml_load_file("archivo.xml");

//Recorremos el XML

$count=0;
foreach ($xml->product as $product) {  

//Asignamos variables 
$name = $name = utf8_decode($product->name); //y no $product->name
$productUrl = $product->productUrl;
$imageUrl = $product->imageUrl;
$merchantCategoryName = $product->merchantCategoryName;
$programLogoPath = $product->programLogoPath;
$price = $product->price;
$previousPrice = $product->previousPrice;
$brand = $product->brand;


//insertamos registros
mysql_query("INSERT INTO tablax (name,productUrl,imageUrl,merchantCategoryName,programLogoPath,price,previousPrice, brand) VALUES ('$name','$productUrl','$imageUrl','$merchantCategoryName','$programLogoPath','$price','$previousPrice','$brand')");
	  
// Incrementamos contador para ver cuantos registros se importan.
echo $name.'</br>';
$count++;
}

echo 'Total de registros importados: '.$count.' a las: ';
echo date('h:i:s');
echo '</br><strong>Actualizacion Correcta ;)</strong>';

mysql_close;
?>
he probado con htmlenties, str_replace... y nada.

Saludos
__________________
Información Turística sobre Merida --> MeridaEterna.com

Última edición por S|ck; 29/05/2011 a las 05:48 Razón: Solucionado

Etiquetas: caracteres, especiales, 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 17:50.