Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Graphixx en 27 Septiembre 2013, 23:52 pm



Título: Por que al exportar como utf8 se pierden las tildes, encambio con ISO 8859-1 no
Publicado por: Graphixx en 27 Septiembre 2013, 23:52 pm
Pasa que estaba exportando unas bases de datos desde PHPMyadmin a CSV de Excel, y no me di cuenta y todas quedaron mal, sin acentos y sin ñ, y vi que poniendo el conjunto de caracteres del archivo a ISO 8859-1 si sale bien, por que sucede esto? yo estaba convencido de que utf8 era la mejor codificacion para español, deberia cambiarme a ISO 8859-1 de ahora en adelante???

Esto me lleva a pensar tambien, cual es el mejor juego de caracteres para definir una tabla cada que vaya usar:
Código:
CREATE TABLE aTable (
    id                       BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    aNumber          bigint(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8;
Deberia Usar mejor entonces algo del tipo:
Código:
CREATE TABLE `autores` (
  `autor_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `nombre` varchar(30) COLLATE latin1_spanish_ci DEFAULT NULL,
  `apellidos` varchar(30) COLLATE latin1_spanish_ci NOT NULL,
  PRIMARY KEY (`autor_id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci


Aca encontre un articulo muy bueno sobre este tema:
http://blog.unreal4u.com/2012/08/sobre-collation-y-charset-en-mysql/