Categorías: Noticias

Modificar el juego de caracteres de una base de datos y todas sus tablas en MySQL

Puede que en más de una ocasión os hayáis encontrado con problemas de juegos de caracteres utilizando MySQL. Si el problema es que tenéis una arquitectura en un juego de caracteres determinados, con un collation determinado, y necesitáis hacer una modificación de ambos en caliente sin tener que ir tabla a tabla, necesitaréis de este script que os dejo a continuación.

El juego de caracteres al que se modifica todo es utf-8 con el collation general.

<?php
 $db = mysql_connect('dirección_ip','usuario','contraseña');
 if(!$db)
  echo "Imposible conectar";
 
 mysql_select_db('nombre_base_datos');
 mysql_query('ALTER DATABASE CHARACTER SET utf8');
 
 $result=mysql_query('show tables');
 
 while($tables = mysql_fetch_array($result)) 
  foreach ($tables as $key => $value) 
   mysql_query("ALTER TABLE $value CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci");
 
 echo "Modificaciones correctas";
?>
F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

Entradas recientes

432 CVEs

7 días hace

Anti-IA

2 semanas hace

Memoria

3 semanas hace

Mal uso

4 semanas hace

Precio de la RAM

1 mes hace

AUR

1 mes hace