Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

UTF8_unicode_ci insert Ñ

Estas en el tema de UTF8_unicode_ci insert Ñ en el foro de Mysql en Foros del Web. Hola, Estoy importando datos de un programa viejo. Como la base de datos del programa viejo estan en BDF y puedo exportarlos a CSV. buscando ...
  #1 (permalink)  
Antiguo 26/09/2010, 19:42
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
UTF8_unicode_ci insert Ñ

Hola, Estoy importando datos de un programa viejo.
Como la base de datos del programa viejo estan en BDF y puedo exportarlos a CSV. buscando en el foro de php consegui este codigo:
Código PHP:
Ver original
  1. <?php  
  2. require("config.php");
  3. $row = 1;  
  4. $fp = fopen ("actualizar/socios.csv","r");  
  5. while ($data = fgetcsv ($fp, 1000, ","))  
  6. {  
  7. $num = count ($data);  
  8. print " <br>";  
  9. $row++;  
  10. echo "$row- ".$data[0].$data[1].$data[2].$data[3].$data[4].$data[5].$data[6].$data[7].$data[8].$data[9].$data[10].$data[11].$data[12].$data[13].$data[14].$data[15].$data[16].$data[17].$data[18].$data[19].$data[20].$data[21].$data[22].$data[23].$data[24].$data[25].$data[26].$data[27].$data[28].$data[29].$data[30].$data[31].$data[32].$data[33].$data[34].$data[35];  
  11. $insertar="INSERT INTO datos (SO_CODIGO,SO_APYNO,SO_DIREC,SO_CODPOS,SO_LOCAL,SO_TELEF,SO_FEING,SO_FEEGR,SO_NRDOC,SO_CATEGO,SO_ESTADO,SO_FENAC,SO_FEACR,SO_HOACR,ID_OPERA,SO_CREMAX,SO_LEGAJO,SO_DIRELAB,SO_TELELAB) VALUES ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[9]','$data[10]','$data[14]','$data[15]','$data[16]','$data[17]','$data[18]','$data[19]','$data[21]','$data[22]','$data[24]')";  
  12. mysql_query($insertar);  
  13. }  
  14. fclose ($fp);  
  15. ?>

El tema es el siguiene:

en el XLS tengo nombres!, y entre ellos MUÑOZ,
ahora cuando lo subo a MY SQL
en la columna me aparece MU
solo me pasa con la Ñ
tengo MySQL en: UTF8_unicode_ci
La base de dato en: UTF8_unicode_ci
el php en:UTF8_unicode_ci
la columna SO_APYNOM en: UTF8_unicode_ci

Una solucion?

gracias por su tiempo.
  #2 (permalink)  
Antiguo 26/09/2010, 20:09
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: UTF8_unicode_ci insert Ñ

Código PHP:
Ver original
  1. echo "$row- ".$data[0].$data[1].$data[2].$data[3].$data[4].$data[5].$data[6].$data[7].$data[8].$data[9].$data[10].$data[11].$data[12].$data[13].$data[14].$data[15].$data[16].$data[17].$data[18].$data[19].$data[20].$data[21].$data[22].$data[23].$data[24].$data[25].$data[26].$data[27].$data[28].$data[29].$data[30].$data[31].$data[32].$data[33].$data[34].$data[35];
remplace echo por $echo
y agrege:
Código PHP:
Ver original
  1. echo htmlentities($echo);
y en la impresion sale la Ñ
pero en la base de dato sigue insertando hasta la Ñ osea: muñoz = mu
  #3 (permalink)  
Antiguo 26/09/2010, 20:17
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: UTF8_unicode_ci insert Ñ

Inserte
Código PHP:
Ver original
  1. mysql_query ("SET NAMES 'utf8'");
Despues de la conexion y antes de la consulta, sin efecto.

"vi en varios post y pag esa solucion"
  #4 (permalink)  
Antiguo 26/09/2010, 20:37
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: UTF8_unicode_ci insert Ñ

Hola,

Cita:
Iniciado por SirDuque Ver Mensaje
$fp = fopen ("actualizar/socios.csv","r");
¿En que tabla de caracteres está guardado socios.csv? Si socios.csv está guardado en ANSI o ISO o algún otro tipo, primero lo tienes que convertir a UTF, ya sea desde la aplicación que estas haciendo o con algún otro programa.

Si está en ISO-8859-1 puedes usar utf8_encode sino tienes que usar otra función para convertirlos de iconv o Multibyte.

Saludos,
  #5 (permalink)  
Antiguo 26/09/2010, 20:38
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: UTF8_unicode_ci insert Ñ

SOLUCION=

Cambie UTF8 por LATIN1
donde?
MY SQL
columna SO_APYNOM = latin1_general_ci
PHP
Código PHP:
Ver original
  1. mysql_query ("SET NAMES 'latin1'");
Código HTML:
Ver original
  1. <meta http-equiv="Content-type" content="text/html; charset=latin1" />

Etiquetas: insert
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 07:22.