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
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
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. ;)
Entonces me quedo con Latin1, muchas gracias :rolleyes: