Duda a la hora de sacar un buckup

Iniciado por :ohk<any>, 16 Diciembre 2009, 20:09 PM

0 Miembros y 1 Visitante están viendo este tema.

:ohk<any>

Hola, cuando saco un buckup via phpmyadmin y luego quiero cargarlo a otro lugar, los acentos se pierden y las cadenas se ven algo asi:

* Designación
* colaboración, etc

Como tengo que hacer a la hora de sacar el buckup o a la hora de cargar la bd en el nuevo sitio para que los acentos me salgan sin problemas?
Espero su ayuda, saludos
Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.

Nakp

tiene que ver con la codificación de caracteres de tu base de datos, y la que importas... asegúrate que sea la misma en ambos casos...

o que estas exportando e importando bases de datos y no tablas xD
Ojo por ojo, y el mundo acabará ciego.

^Tifa^

Como te dice Napk debes verificar la codificacion de caracteres de las tablas a las cuales le haces backup, y como se restaura ese backup y que tablas tienen soporte para esa codificacion  ;)

Por ejemplo:

Citarmysql> show create table ejemplo;
+---------+---------------------------------------------------------------------------------------------------+
| Table   | Create Table                                                                                      |
+---------+---------------------------------------------------------------------------------------------------+
| ejemplo | CREATE TABLE `ejemplo` (
  `nombres` char(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+---------+---------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> show create table prueba;
+--------+-------------------------------------------------------------------------------------------------+
| Table  | Create Table                                                                                    |
+--------+-------------------------------------------------------------------------------------------------+
| prueba | CREATE TABLE `prueba` (
  `nombres` char(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=ascii |
+--------+-------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Tengo 2 tablas ejemplo y prueba, fijate que ejemplo dice CHARSET latin1 y prueba dice CHARSET ascii = US, ahora mira que datos posee ejemplo:

Citarmysql> select * from ejemplo;
+--------------+
| nombres      |
+--------------+
| Mañana       |
| ortográficos |
| surgió       |
| prosódicos   |
+--------------+
4 rows in set (0.00 sec)

la tabla ejemplo al tener definido el idioma 'latin1' que es latino, soporta acentos, enies, etc. Sin embargo la tabla prueba que tiene definido codificacion de caracteres ascii = US

Citarmysql> insert into prueba values('prosódicos'),('surgió'),('Mañana');                                                                       
Query OK, 3 rows affected, 3 warnings (0.00 sec)                                                                                           
Records: 3  Duplicates: 0  Warnings: 0                                                                                                     

mysql> show warnings;
+---------+------+-------------------------------------------------------------------+
| Level   | Code | Message                                                           |
+---------+------+-------------------------------------------------------------------+
| Warning | 1366 | Incorrect string value: '\xF3dicos' for column 'nombres' at row 1 |
| Warning | 1366 | Incorrect string value: '\xF3' for column 'nombres' at row 2      |
| Warning | 1366 | Incorrect string value: '\xF1ana' for column 'nombres' at row 3   |
+---------+------+-------------------------------------------------------------------+
3 rows in set (0.00 sec)     

Y mira como se ven los datos:

Citarmysql> select * from prueba;
+------------+
| nombres    |
+------------+
| pros?dicos |
| surgi?     |
| Ma?ana     |
+------------+
3 rows in set (0.00 sec)

Ojo con el CHARSET que tiene definido cada tabla en relacion a los registros que guarda.  ;)

:ohk<any>

Entonces me quedo con Latin1, muchas gracias  :rolleyes:
Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.