Ça fait quoi comme type de caractères quand tu met un é par exemple? Car ça peut aider à savoir si c'est un problème d'encodage quand tu récupéres les infos de la BDD, donc là faut forcer le passage en UTF-8 avec une option dans PDO ($dbh->exec("SET CHARACTER SET utf8");) ou MySQL (mysql_query("SET NAMES 'utf8'");)
Sinon c'est par exemple que tu n'utilises pas le même encodage entre ta BDD et tes pages, pour tes pages tu peux mettre un header (header('Content-Type: text/html; charset=utf-8');) ou direct dans l'HTML avec (<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> ou <meta charset="UTF-8">) pour être sur que ta page sera perçut comme de l'UTF8