Ayuda con los acentos y eñes al importar excel a mysql

  • Autor Autor pa3lo022
  • Fecha de inicio Fecha de inicio
P

pa3lo022

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola a todos, tengo el problema de que estoy subiendo datos en un excel a mysql con PHP, pero las palabras con acentos o Ñ, las corta, probé con utf8_decode, cambiando cotejamiento en la base de datos, con header("Content-Type: text/html;charset=utf-8") pero nada me funciona.

Alguien me podría ayudar por favor.

Pongo el codigo que estoy usando aca:

$destino = "archivos/".$archivo;
if (copy($_FILES['archivo']['tmp_name'],$destino)) {
$status = "Archivo subido: <b>".$archivo."</b>";
} else {
$status = "Error al subir el archivo";
}

//Borramos la tabla
$result1=mysql_query("delete from envases")or die("Problemas datos BD datos".mysql_error());

$row = 1;
$fp = fopen ("archivos/envases.csv","r");
while ($data = fgetcsv ($fp, 1000, ";"))
{
$num = count ($data);
print " <br>";
$row++;

$insertar="INSERT INTO envases (ECodigo,EModelo,ECatId,Ecapacidad,EDescripcion,EPrecio,EFoto) "
. "VALUES ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]')";
mysql_query($insertar);
}
fclose ($fp);
 
el cotejamiento de la table lo tienes en utf8?

Como te conectas a la bd?

Prueba a establecer el charset a utf8 despues de conectar a la BD.

Insertar CODE, HTML o PHP:
mysql_set_charset('utf8')

O tambien con (aunque no es muy recomendado segun la documentacion de php)


Insertar CODE, HTML o PHP:
mysql_query("SET NAMES utf8");

Prueba con eso y me dices.

Lo otro seria htmlentities pero eso seria ya como ultimo recurso.
 
el cotejamiento de la table lo tienes en utf8?

Como te conectas a la bd?

Prueba a establecer el charset a utf8 despues de conectar a la BD.

Insertar CODE, HTML o PHP:
mysql_set_charset('utf8')

O tambien con (aunque no es muy recomendado segun la documentacion de php)


Insertar CODE, HTML o PHP:
mysql_query("SET NAMES utf8");

Prueba con eso y me dices.

Lo otro seria htmlentities pero eso seria ya como ultimo recurso.

Carlos Gracias por tu respuesta, el cotejamiento de la tabla lo tengo en utf8, en realidad lo probe en muchos y nada, y en la conexion a la base estoy usando mysql_query("SET NAMES utf8");

Ese es el problema me esta volviendo loco, probe de todo, lo unico que no me corto la palabra pero si me puso un caracter extraño es usar utf8_decode, pero este me pone un ?. Yo creo que debe venir mas por parte del excel, pero no se donde configurarlo.

Gracias nuevamente.
 
Bueno lo solucione al problema, por si a alguien le pasa.

Lo que hay que hacer luego de guardar el excel, es abrir el csv desde el notepad y guardarlo tal cual esta con en modo utf-8 y listo solucionado el problema de acentos y ñ.
 
Atrás
Arriba