Passage à PHP5.6, problème sur caractères accentués

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par OTP, 24 Juin 2015.

  1. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 715
    J'aime reçus:
    3
    Bonjour,

    Je migre mon site vers PHP5.6 en ce moment (actuellement, j'ai du PHP4).
    Comme je suis chez OVH, je modifie le fichier .ovhconfig.
    Mais alors mes caractères accentués sont mal affichés.
    J'ai changé ma balise charset vers la syntaxe HTML5 pour voir, en vain.

    Savez-vous me dire ce qui se passe ?

    Merci d'avance,

    OTP
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 117
    J'aime reçus:
    315
    Ça vient de :
    - Encoding des fichiers PHP
    - Headers HTTP
    - Meta charset
    - Database / columns
     
  3. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 715
    J'aime reçus:
    3
    Heu, merci, mais...

    - Encoding des fichiers PHP : les fichiers non executés ?
    - Headers HTTP : la syntaxe est à changer ?
    - Meta charset : la syntaxe est à changer ?
    - Database / columns : mysql ? Le souci est aussi sur le texte non issu des tables

    OTP
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 117
    J'aime reçus:
    315
    Tous les fichiers parsés.
    Juste vérifier qu'il n'y a pas de AddDefaultCharset différent de celui voulu
    Mettre celui correspondant à ton doctype. (différent en HTML5/XHTML)
    Donc ça vient pas de là
     
  5. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 715
    J'aime reçus:
    3
    Ok, merci, je vais fouiller ça.

    OTP
     
  6. indigene
    indigene WRInaute accro
    Inscrit:
    7 Septembre 2003
    Messages:
    4 162
    J'aime reçus:
    179
    toujours écrire et stocker en base les caractères accentués de cette façon :

    é = & e a c u t e ;

    Ainsi, même en changeant l'encodage dans le navigateur (firefox permet de changer facilement), les caractères particuliers restent les mêmes et ne sont pas remplacés par des codes graphiques
     
  7. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 117
    J'aime reçus:
    315
    Surtout PAS !
     
  8. indigene
    indigene WRInaute accro
    Inscrit:
    7 Septembre 2003
    Messages:
    4 162
    J'aime reçus:
    179
    peux-tu développer s'il te plait ? Je fais comme ceci depuis 1999 en utilisant htmlentities et des choses comme ça et je n'ai jamais rencontré de problème.
     
  9. Blount
    Blount WRInaute impliqué
    Inscrit:
    18 Novembre 2010
    Messages:
    701
    J'aime reçus:
    0
    N'importe quoi. Rien de tel pour pourrir une base de données …
    Les données mise en base doivent être comme elles ont été fournies. Les traitements liés à un contexte ne doivent pas y apparaître. Ceci permet une bonne interopérabilité des données.

    Depuis PHP 5.6, le charset par défaut est l'UTF-8.
    Il faut donc examiner l'existant pour savoir si tu souhaites passer complètement à UTF-8 ou en ISO.
    Si ton existant est en ISO, tu peux configurer ce paramètre pour passer de UTF-8 à l'ISO.
     
  10. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 117
    J'aime reçus:
    315
  11. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 715
    J'aime reçus:
    3
    C'est à dire il faut faire quoi .

    Dans le header j'imagine ? Rien trouvé de tel

    Je n'ai pas changé le doctype. Ca fonctionnait bien avant.

    C'est déjà ça ! :)
     
  12. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 117
    J'aime reçus:
    315
    Vérifier l'encoding (UTF-8 sans BOM) des fichiers

    Le problème n'est pas là non plus alors.
     
  13. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 715
    J'aime reçus:
    3
    C'est à dire reprendre l'encodage de TOUS mes fichiers ???
     
  14. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 117
    J'aime reçus:
    315
  15. indigene
    indigene WRInaute accro
    Inscrit:
    7 Septembre 2003
    Messages:
    4 162
    J'aime reçus:
    179
    Exact, c'est uniquement à l'affichage que j'utilise htmlentities. Pour le stockage c'est du addslash
     
  16. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 117
    J'aime reçus:
    315
  17. indigene
    indigene WRInaute accro
    Inscrit:
    7 Septembre 2003
    Messages:
    4 162
    J'aime reçus:
    179
  18. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 715
    J'aime reçus:
    3
  19. noren
    noren WRInaute accro
    Inscrit:
    8 Avril 2011
    Messages:
    2 906
    J'aime reçus:
    14
    Suffisant ou non le addslashes n'est pas propre tu stockes un / en plus dans ta bdd et tu es obligé de faire un stripslashes à la sortie. le addslashes était utilisé lorsqu'il y avait le magic quotes d'activé il me semble. ce n’est plus le cas avec les nouvelles versions de php.

    De plus avec la fonction mysql_real_escape_string() ça gère les injections sans soucis et sans pourrir ta bdd ni besoin d'utiliser stripslashes. Et il me semble que mysql_real_escape_string() protège plus de caracteres.

    J'utilisais les addslashes sur de vieux sites, mais il y a quelques mois j'ai remplacé par mysqli_real_escape_string() et nettoyé ma bdd des / en trop. Bien plus propre.
     
  20. indigene
    indigene WRInaute accro
    Inscrit:
    7 Septembre 2003
    Messages:
    4 162
    J'aime reçus:
    179
    Bien, je vois que j'ai du pain sur la planche. Il faudra que je me forme à ces nouvelles technologies. Je dois toujours coder en php 3 avec les adaptations nécessaire pour que ça passe en php 5.
    En fait mon code n'a pas évolué depuis 2003-2006 :lol:
    Mais comme je dois coder une ou deux fois par an c'est pas trop un soucis non plus.
     
  21. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 715
    J'aime reçus:
    3
    Pareil pour moi sauf que j'ai un ultimatum d'OVH à fin septembre... :(
     
  22. indigene
    indigene WRInaute accro
    Inscrit:
    7 Septembre 2003
    Messages:
    4 162
    J'aime reçus:
    179
    ultimatum d'OVH pour septembre
    ultimatum de Google pour 21 avril 2015

    J'ai commencé par gérer le cas Google en passant un site en responsible. Pour celui d'OVH j'ai fait le minimum d'adaptation et je ne suis pas passé en UTF-8. Le site fonctionne en php 5.? à 98%. Il ne reste que quelques petits détails à régler mais pas trop de problèmes. Le plus gros a été de remplacer les anciennes commandes par pregreplace ou pregmatch.
     
  23. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 715
    J'aime reçus:
    3
  24. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 715
    J'aime reçus:
    3
    Celui là je m'en bats les flancs ! :)
     
  25. indigene
    indigene WRInaute accro
    Inscrit:
    7 Septembre 2003
    Messages:
    4 162
    J'aime reçus:
    179
    On peut plus facilement changer d'hébergeur que faire changer tout le monde de moteur de recherche
     
  26. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 715
    J'aime reçus:
    3
    Je m'adapte aux normes de codage et GG s'adapte à mon site ou va voir ailleurs.
    Je l'ai codé avec les pieds et pourtant je suis très bien placé chez GG.
    Donc qu'il continue à se démer...
     
  27. elji
    elji WRInaute occasionnel
    Inscrit:
    6 Juin 2009
    Messages:
    319
    J'aime reçus:
    5
    J'ai ce meme problème, avec la même deadline OVH. Mes é sont dans ma base données des é et je songe à faire un chercher/remplacer pour me sortir définitivement de ce problème.

    Je veux dire récupérer ma base sur mon PC, l'ouvrir dans un éditeur de texte, faire un chercher/remplacer pour tous les caractères accentués, (à â ç é è ê etc...) et une fois que c'est propre, je remets la base sur mon serveur.

    Le problème sera réglé, simplement et facilement. Où... J'aurais oublié quelque chose ?
     
Chargement...
Similar Threads - Passage PHP5 problème Forum Date
Descente aux enfers suite passage https , php5.5 et modif robots.txt Débuter en référencement 15 Octobre 2015
passage de variable dans url php5 Développement d'un site Web ou d'une appli mobile 25 Juillet 2010
Search Console Passage de http vers https Référencement Google 15 Novembre 2020
WordPress Bug de référencement après passage du .fr au .com Débuter en référencement 9 Octobre 2020
Astuce Presta passage de 1.6 à 1.7 en gardant les images rubriques et sous rubriques e-commerce 8 Avril 2020
WordPress Problème référencement depuis passage Joomla sur WordPress Problèmes de référencement spécifiques à vos sites 21 Février 2020
Passage de la langue principale en sous-répertoire, que faire de la racine ? Référencement international (langues, pays) 15 Janvier 2020
Passage de mon site en Https Problèmes de référencement spécifiques à vos sites 29 Décembre 2019
Search Console Chute du référencement suite au passage en HTTPS Référencement Google 27 Décembre 2019
WordPress Problème référencement depuis passage Joomla sur Wordpress Problèmes de référencement spécifiques à vos sites 19 Décembre 2019