Hola, yo tengo un problema parecido he creado un código en php para importar unos archivos csv pero el problema que tengo es que el csv que me genera el programa no esta en UTF-8 u cuando los importo los campos que tienen "ñ" no los importa bien.
¿alguien sabría que función tengo que emplear en PHP para cambiar el formato?
Gracias por adelantado.
Os dejo el código de importación de un csv:
Código PHP:
<?php
/* Manera de insertar csv */
function Conectarse()
{
if (!($link=mysql_connect("localhost","plazau","plazap"))){
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("plazab",$link)) {
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
ini_set ('auto_detect_line_endings','1');
$row = 1;
$row_country = 1;
;
//$row_users = 1;
$enlace=Conectarse();
$enlace_country=Conectarse();
//$enlace_users=Conectarse();
/*$consulta_users = "TRUNCATE TABLE jos_properties_users";
$resultado_users = mysql_query($consulta_users,$enlace_users) or die("Error $consulta_users <br>MySQL dice: ".mysql_error());*/
$consulta_country = "TRUNCATE TABLE jos_properties_country";
$resultado_country = mysql_query($consulta_country,$enlace_country) or die("Error $consulta_country <br>MySQL dice: ".mysql_error());
/* Insertar CSV Country */
$handle_country = fopen("codigo_php/jos_properties_country.csv", "r");
while (($data_country = fgetcsv($handle_country,",", ";")) !== FALSE) {
$num_country = count($data_country);
$row_country++;
$cadena_country = "insert into jos_properties_country values(";
for ($c_country=0; $c_country < $num_country-1; $c_country++) {
if ($c_country==($num_country-2))
$cadena_country = $cadena_country."'".$data_country[$c_country] . "'";
else
$cadena_country = $cadena_country."'".$data_country[$c_country] . "',";
}
$cadena_country = $cadena_country.");";
$result_country=mysql_query($cadena_country, $enlace_country) or die("Error $cadena_country <br>MySQL dice: ".mysql_error());
$contador_country=$contador_country+1;
}
mysql_close($enlace_country);
fclose($handle_country);