Points interrogations depuis le passage à PHP 5.6

Bonjour à tous!

Besoin d'un petit coup de pouce SVP sur un forum phpbb2 : depuis que mon hébergement est en PHP 5.6, j'ai des soucis d'encodage.

voir ici : http://www.freebiker.net/ (hébergé chez 1&1)

J'ai des points d'interrogation partout :
Sur les page php en dur : www.freebiker.net
Sur ce qui vient de la BDD : http://www.freebiker.net/php/phpBB2/sutra198252.php#198252

J'ai remarqué qu'il n'y a plus de PB sur les nouvelles entrées dans la BDD : http://www.freebiker.net/php/phpBB2/sutra198270.php#198270

Mon site est en iso-8859-1. J'ai essayé de changer le charset mais cela ne change rien.

Quelqu'un à une idée pour régler le problème sans devoir intervenir sur chaque page?

Merci

Pascal

3 réponses

  1. Salut dans le head de t'es pages il faudrait changer:
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">


    par

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


    Aprés faudra peut être nettoyer ton navigateur, mémoire cache....
    1. j'ai modifié mes charset, et je suis maintenant en utf-8 partout
  2. Salut dariumis
    Ah oui c'est beaucoup mieux, merci
    Il en reste encore dans la base de données, une idée?
    1. salut, faut voir si ta base de données est aussi encodé en ISO-8859-1, dans phpmyadmin par exemple si tu utilises MySql, dans ce cas il faudra mettre UTF-8.
    2. Dans phpmyadmin, j'ai remarqué que l'interclassement de mes tables était réglé sur latin1_swedish_ci, j'ai tout repassé en utf8_general_ci mais cela n'a rien changé.
    3. c'est bizarre, certains posts on les accents qui marche bien et d'autre non, faudrais voir dans phpmyadmin les differences entre les entrées qui marche et celle qui ne marche pas, les données sont peut être corrompus dans Mysql. Tu peux peut être essayer d'utiliser une fonction php comme utf8_encode sur les variables qui pose problème, mais ce serait mieux de résoudre le problème sans ça.
    4. @dariumisLes entrées qui posent problème sont celle qui date de plus d'une semaine (sous php 5.4) pourtant dans phpmyadmin, aucune différence. Mais si je réécrit un é mal encodé dans une entrée ancienne par un autre é, il s'affiche correctement...
    5. voir si quand tu selectionne ta base dans phpmyadmin que les tables ai bien étaient modifiés dans le champs interclassement, es-tu bien passé par l'onglet operation pour modifier l'interclassement une fois la base séléctionné?
    1. Merci pour ta réponse Whismeril
      Utf8mb4?
      je n'ai jamais entendu parler de cela et je ne sais pas comment faire
    2. Je ne fais pas de php, d'où le "à tout hasard", pose la question à NHenry sur l'autre fil.