Si alguna vez has programado para web te abras topado con el problemas de las ñ y los acentos por no tener una codificación utf8. Tanto php como mysql y apache tienen que tener esta configuración en sus archivos.En esta caso voy a mostrar como configurar mysql.
El archivo que tenemos que editar es /etc/mysql/my.cnf y insertar en debajo de cada etiqueta las siguientes directivas:
[mysqld] default-character-set=utf8 default-collation=utf8_general_ci character-set-server=utf8 collation-server=utf8_general_ci init-connect='SET NAMES utf8' [client] default-character-set=utf8
Una vez guardado reiniciamos mysql:
service mysql restart
También comprobamos que los cambios son correctos:
mysql> SHOW VARIABLES LIKE 'character_set%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec)