Si tienes problemas con los juegos de caracteres, ya sea porque no coincidan en todas las tablas o porque el formato que usas no es que el necesitabas. tendrías que ir de tabla en tabla y editarla para que tenga el mismo formato (Juego de caracteres).
Aquí te doy un script que puede facilitar esa tarea,
Advertencia: antes de ejecutar el script, es sumamente recomendable hacer un backup
<?php $juegocaracteres= "latin1"; //juego de caracteres $collate = "latin1_general_ci"; //collate $nombre_base_datos = "NOMBRE"; //nombre de la base de datos a modificar $db = mysql_connect('localhost','user','password'); //datos de conexión MySQL if(!$db) echo "Error al conectar"; mysql_select_db($nombre_base_datos); //Seleccionar base de datos mysql_query('ALTER DATABASE CHARACTER SET $juegocaracteres'); //Cambiando el juego a nivel base de datos $result=mysql_query('show tables'); //obtener todas las tablas de la base de datos while($tables = mysql_fetch_array($result)) { foreach ($tables as $key => $value) { mysql_query("ALTER TABLE $value CONVERT TO CHARACTER SET $juegocaracteres COLLATE $collate"); //cambiando el juego y el collate en cada tabla } } echo "Cambio de juego de caracteres correcto a $juegocaracteres collate $collate"; //Mensaje si todo se realizó correctamente ?>
Este script está configurado para cambiar a juego de caracteres latin1 usando el collase general