Caractères accentués dans la table mySQL

J'ai quelques textes en français (contenant des caractères accentués tels que "é"), stockés dans une table MySQL dont le classement est utf8_unicode_ci (la table et les colonnes), que j'ai envie de sortie sur une page HTML5.

La page HTML charset UTF-8 (< meta charset="utf-8" />) et les fichiers PHP sont eux-mêmes codés comme "UTF-8 sans BOM" (j'utilise Notepad++ sous Windows). J'utilise PHP5 à la demande de la base de données et générer le code HTML.

Toutefois, sur la page de sortie, les caractères spéciaux (tels que "é") apparaissent tronqués et sont remplacés par des "�".

Quand je navigue dans la base de données (via phpMyAdmin) de ces mêmes caractères accentués affichage de l'amende juste.

Ce qui me manque ici?

(Remarque: la modification du codage de la page (via Firefox "développeur web" menu) à la norme ISO-8859-1 résout le problème... sauf pour les caractères spéciaux qui apparaissent directement dans les fichiers PHP, qui deviennent désormais corrompu. Mais de toute façon, je préfère comprendre pourquoi cela ne fonctionne pas comme UTF-8 que de changer l'encodage sans comprendre pourquoi il fonctionne. ^^;)

source d'informationauteur s427