Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Hadess_inf en 28 Junio 2010, 23:58 pm



Título: De ascii_general_ci a utf8_spanish2_ci
Publicado por: Hadess_inf en 28 Junio 2010, 23:58 pm
Hola pues tengo un pequeño problema, tengo una BD que inicialmente tuvo el cotejamiento ascii_general_ci (entiendase que todas sus tablas y dentro de cada tabla todos los campos tienen este tipo de cotejamiento) ... y lo que deseo hacer es cambiar todo a utf8_spanish2_ci.

Pues resulta que al cambiar el cotejamiento de la BD solo se lo cambia a la BD mas no a las tablas ni mucho menos a los campos dentro de las tablas, esta es la instruccion que uso:

Citar
ALTER DATABASE `web` DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish2_ci

Alquien me hecha una mano y me dicen como hacer para que el cambio sea general.¡?
Desde ya muchas gracias.

Saludos.


Título: Re: De ascii_general_ci a utf8_spanish2_ci
Publicado por: MazarD en 29 Junio 2010, 17:18 pm
El encoding es a nivel de tabla, con el alter en database lo que cambias es el encoding por defecto al crear una tabla nueva.

Tienes que hacer:

Código:
ALTER TABLE tabla CONVERT TO CHARACTER SET utf8 COLLATE utf8_spanish2_ci;

Para cada una de las tablas de tu base de datos, o tambien puedes montarte un script, si hay muchas, que recorra las de information_schema.

Saludos!