
29/05/2011, 03:26
|
| | Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 23 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
Última edición por S|ck; 29/05/2011 a las 05:48
Razón: Solucionado
|