8791 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai ma base de donnée Mysql avec l'interclassement "utf8_general_ci", mes pages développées sous notepad++ avec l'encodage Utf-8 sans Bom.

J'ai saisie une valeur directement dans la base via phpmyadmin, lorsque j'affiche le contenu de la variable sur ma page web encodé ainsi :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

j'obtiens des losanges avec point d'interrogation à la place de mes accents pour par exemple le mot "téléphone".

Je ne vois pas ce que j'ai omis, toute la chaine utf-8 semble pourtant respectés. Testé sur différents navigateurs.

Merci.
Coucou Conan,

Je crois savoir où est la faille (mais je vais me faire taper dessus par Julien car j'ai pas lu toute la page Wiki sur l'UTF-8)

Est-ce que ton phpmyadmin est configuré avec l'encodage UTF-8 ?
Dans le cas contraire, si tu as inséré des données en bdd en iso-8xxx-xx, elles seront mal interprété en UTF-8.

La solution que je vois, c'est que les données soient insérées à partir de ton site web, via une page en UTF-8.

Maintenant, je suis peut-être source d'erreur et de confusion. Au quel cas, ne pas prendre en compte mon analyse ^^

kéké
Alors j'ai des nouvelles...

Si je mets des données direct dans phpmyadmin, que je les lits en ayant mis :

$oDB -> query("SET NAMES 'utf8'");

alors je vois bien mes accents dans ma page.

par contre, si je re-sauvegarde, ou re-saisie mon formulaire.
lors de l'enregistrement, j'ai dans la base (vu par phpmyadmin) ceci :
commune accent &Atilde;&copy;&Atilde;&uml;&Atilde;..
le caractère au format html, je me demande si ma sauvegarde n'est pas géné par tout ce code juste avant:


$strProgramme = sprintf("%s",$_POST['strProgramme']);		
$strProgramme = trim($strProgramme);
$strProgramme = htmlentities($strProgramme);
$strProgramme = mysql_real_escape_string($strProgramme);


Je vais regarder dans phpmyadmin (faut que je trouve)... lol un autre problème de dernière minute, mes session n'expire pas...

C'est la course avant mes congés de ce soir, tout les problème arrivent en même temps, décidément...
Il fallait effectivement te connecter en spécifiant que tu voulais du UTF-8 en sorti (ce que tu as fais).

Pour ton second soucis, il y a de forte chance que ce soit du à htmlentities()
ok, bon je peux enlever le htmlentities étant donné que les pages font parties de l'interface d'admin, il y a moins de chance de saisie erroné...