Bug avec les accents !

Répondre
clicone
clicone
Déconnecté
Si Dieu existe, j'espère qu'il a une bonne excuse -woody allen-
Bonjour,

Malgré le fait que mon charset est bien charset=iso-8859-1 et que je mette un utf8_decode sur mon echo, j’ai toujours un problème d’accents (é, è, à ...) à l’affichage des données

Comment résoudre ce bug ?

  1.  
  2. php echo utf8_decode($result['title']); ?>
  3.  
JuTs
JuTs
Déconnecté
JuTs
Salut

Peut être qu'il y a un problème avant. Dans la base de données par exemple. C'est peut-être là que les caractère sont mal encodés.
clicone
clicone
Déconnecté
Si Dieu existe, j'espère qu'il a une bonne excuse -woody allen-
Je viens de vérifier la base de données et je remarque qu'une partie des tables sont en :
  1. utf8_unicode_ci 
et l'autre partie en
  1. latin1_swedish_ci 


Mais au final le problème d'affiche se pose dans les deux cas.

Quid ? :)
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Voici de la lecture qui pourrait t'intéresser.
clicone
clicone
Déconnecté
Si Dieu existe, j'espère qu'il a une bonne excuse -woody allen-
Salut,
Merci pour le lien. J’ai tout lu et en fin de parcours je note que faire toute cette gymnastique serait une erreur. En plus dans mon cas impossible à mettre en place sur un site contenant de nombreuses pages et scripts. Il y a un risque que d’autres bugs viennent s’ajouter.

J’ai trouvé la solution suivante malheureusement au lieu d’afficher la liste demandé dans mon $sql seul 1 résultat est affiché.... J'ai cherché dans Php et je ne trouve pas cette fonction encode_to_utf8 ...

Qui peut m'aider ?

Merci,

  1.  
  2.  
  3. function encode_to_utf8($str)
  4. {
  5. $encodage = mb_detect_encoding($str, "UTF-8, ISO-8859-1, ISO-8859-15, windows-1252", true);
  6. $str_utf8 = mb_convert_encoding($str, "UTF-8", $encodage);
  7. return $str_utf8;
  8. }
  9.  
  10. <a href = =<?php echo $result['id']; ?>"><?php echo encode_to_utf8($result['titre']); ?></a>
  11.  
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
utf8_encode ? Ou bien iconv si tu as un charset de départ louche.
clicone
clicone
Déconnecté
Si Dieu existe, j'espère qu'il a une bonne excuse -woody allen-
@ la globule, Merci pour ta réponse mais j'ai pas compris. tu pourrais être plus explicite, Stp.
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Ben y'a rien à comprendre. Tu dis ne pas connaitre la fonction "encode_to_utf8", moi je te réponds que tu peux utiliser utf8_encode ou iconv.
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog