Encodage utf8... l'horreur ! [Résolu/Fermé]

Signaler
Messages postés
434
Date d'inscription
vendredi 7 mai 2010
Statut
Membre
Dernière intervention
17 octobre 2015
-
Messages postés
434
Date d'inscription
vendredi 7 mai 2010
Statut
Membre
Dernière intervention
17 octobre 2015
-
Bonjour,

voilà des heures que je vais de forum en forum et que je teste des dizaines de "solutions", sauf qu'aucune ne fonctionne. mon problème ? tout bêtement changer l'encodage de ma base de données mysql pour que les élément s'affichent sans <?> (le losange noir avec un ? dedans) dès qu'il y a le moindre accent dans ma page php, signe que les éléments de ma bdd sont vus comme de l'iso 8859-1.

j'ai testé mysql_query("SET NAMES utf8") (utf8 avec ou sans guillemets simple, selon ce que disent les topics), modifié le fichier /etc/mysql/my.cnf en spécifiant l'encodage voulu, recréé une bdd à partir de zéro en spécifiant bien dès le début que je voulais de l'utf8, mais même ça ça ne change rien ! j'ai aussi fait un dump de ma bdd que j'ai ouvert dans un éditeur de texte, réenregistré en précisant que je voulais de l'utf8 puis rebalancé le tout dans la bdd, mais rien n'y fait !

mon site est en html5/css3 (utf8 aussi, pas de problème d'affichage pour la partie html), j'utilise apache2.2.21 et mysql 5.1.58 le tout sous debian sid (unstable) x64 pour des besoins de paquets récents. je précise que le problème ne vient pas de mon système unstable, puisque c'est pareil sous ubuntu 10.10 x64 avec apache2.2.16 et mysql 5.1.49

y'aurait pas une solution toute bête pour faire un truc aussi stupide ? ça commence à me faire désespérer...
merci :)

g@by

3 réponses

Messages postés
204
Date d'inscription
samedi 25 septembre 2010
Statut
Membre
Dernière intervention
20 juin 2012
27
Bonjour,
Pourquoi tout simplement ne pas passer l'encodage de ton navigateur web en iso-8859-1?
Messages postés
434
Date d'inscription
vendredi 7 mai 2010
Statut
Membre
Dernière intervention
17 octobre 2015
49
c'est que le reste du site (toute la partie html) est en utf8, qui m'évite d'avoir à écrire "& eacute;" pour afficher un bête "é", ce qui est quand même très pratique !
donc je préférerais passer la bdd en utf8 plutôt que l'inverse.

merci pour ta réponse !
Messages postés
204
Date d'inscription
samedi 25 septembre 2010
Statut
Membre
Dernière intervention
20 juin 2012
27
Personnellement je n'ai pas de problème, j'ai codé mon site en iso-8859-1 et mit mon navigateur aussi en iso et je n'ai aucun souci, il affiche parfaitement bien les é.
Messages postés
434
Date d'inscription
vendredi 7 mai 2010
Statut
Membre
Dernière intervention
17 octobre 2015
49
parce que tout ton site est en iso, y compris tes pages html non ? pour écrire un caractère accentué tu dois taper dans ton fichier .html ou .php & eacute; pour avoir un é, & agrave; pour à, etc...
quand je passe le navigateur en iso j'ai bien les éléments de ma bdd qui s'affichent correctement, mais plus tout le reste, qui est en utf8 !
Messages postés
204
Date d'inscription
samedi 25 septembre 2010
Statut
Membre
Dernière intervention
20 juin 2012
27
la question que je me pose alors c'est pourquoi tu ne code pas ton site en iso?
Messages postés
434
Date d'inscription
vendredi 7 mai 2010
Statut
Membre
Dernière intervention
17 octobre 2015
49
j'ai passé mon site qui était en bon vieux xhtml 1.0 en html5, et j'ai aussi changé l'encodage pour simplifier l'écriture des caractères accentués dans les fichiers php, mais vu la me*de que c'est dans ma bdd maintenant je me demande si ça vaut le coup !
Messages postés
434
Date d'inscription
vendredi 7 mai 2010
Statut
Membre
Dernière intervention
17 octobre 2015
49
bon, "solution" trouvée, utiliser la fonction utf8_encode après chaque echo :

echo utf8_encode($truc['machin']);

c'est pas ce qu'il y a de plus pratique mais ça a le mérite de marcher :) si quelqu'un a mieux je suis preneur !!!!!