Problème d'encodage

Par princelionelnzi, il y a 11 ans


Base de données MySQL

Salut je suis sur la derniere partie de la creation d'un site et le seul probleme qu'il me reste à gerer est l'encodage.

1- Au fait, j'ai une page d'administration du site et de là bas j'atoute des elements à la base de données MySQL.

Après l'ajout (là où le problème commence), les caractères un peu speciaux(é, ê, è, à ...) se transforment.

2- Quand je remplie les champs directement alors c'est la page qui le contenu des champs qui transforment les caracteres speciaux

NB: Ma base de données et mes champs utilisent l'encodage "utf8_general_ci" et les pages du site l'encodage "utf-8 sans BOM"

2 réponses

Nairolf, il y a 11 ans

Ç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

princelionelnzi, il y a 11 ans

Au niveau des pages ca va maintenant. Mais le seul souci est les caractères accentuées dans la base de données.