Voici comment faire pour que toutes les connexions soient toujours en utf-8 sans devoir à chaque fois mettre SET NAMES 'utf8' dans le code.

Sur Debian ou Ubuntu sur le serveur qui héberge la base, rajouter un fichier utf8.cnf dans le répertoire /etc/mysql/conf.d avec le contenu suivant:


[mysqld]
init_connect='SET NAMES utf8'
character-set-server=utf8

Et voila!