Php 5.6 et caractères accentués sur mon site

Discussion dans 'Demandes d'avis et de conseils sur vos sites' créé par Daktari, 19 Avril 2016.

  1. Daktari
    Daktari WRInaute impliqué
    Inscrit:
    10 Mai 2004
    Messages:
    508
    J'aime reçus:
    0
    Bonjour,

    depuis 9 ans je suis chez infomaniak et il y a quelques semaines ils m'ont proposé de passer sur la nouvelle console d'administration, ce ne fut pas sans mal mais j'y suis arrivé. Sur celle-ci, il y a du php à la "volée", mon site étant au départ sous php 5.4 j'ai eu un message d'avertissement comme quoi cette version était obsolète, je suis passé à php 5.5 sans problèmes mais maintenant, ils annoncent que cette version ne sera bientôt plus sécurisée et qu'il faut passer en php 5.6 ou 7.0 et là quand je teste tout fonctionne sauf pour les caractères accentués (é, è, à, etc...) qui sont remplacés par des points d'interrogations ce qui rend le site illisible.

    Infomaniak, semble avoir compris la cause car ils me parlent d'un problème avec ma balise meta : "<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">" et d'un problème d'encodage :

    "Encodage de caractères par défaut ¶

    default_charset est maintenant utilisé comme jeu de caractères par défaut pour les fonctions htmlentities(), html_entity_decode() et htmlspecialchars(). Notez que si les configurations d'encodage (maintenant obsolète) d'iconv et mbstring sont définies, elles prendront le dessus par rapport à la configuration de default_charset pour les fonctions iconv et mbstring, respectivement.

    La valeur par défaut pour cette configuration est UTF-8."

    mais ils ne me donnent pas la solution car ils sont hébergeurs et n'interviennent pas dans la réalisation de sites. Pour information, mon site est en html, je n'utilise pas de php sauf pour un .htaccess pour faire pointer des noms de domaine synonymes.

    Quelqu'un a-t-il une solution à me proposer ?

    Bonne journée.
     
  2. noren
    noren WRInaute accro
    Inscrit:
    8 Avril 2011
    Messages:
    2 816
    J'aime reçus:
    18
    As tu essayé de forcer l'encodage dans le .htaccess :

    AddDefaultCharset iso-8859-1

    Il faut également enregistrer tes fichiers html en iso-8859-1

    Sauf si tu es en utf-8, la tu dois tout mettre en utf-8 :wink:
     
  3. Daktari
    Daktari WRInaute impliqué
    Inscrit:
    10 Mai 2004
    Messages:
    508
    J'aime reçus:
    0
    Merci pour ta réponse.

    Actuellement j'ai juste : "<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">" sur chacune de mes pages.

    Est-ce que je dois changer cette balise et si oui par quoi et que mettre éventuellement dans le .htaccess ? Vu qu'infomaniak parle d'une valeur par défaut en UTF-8 ?

    Désolé mais pour moi ces histoires d'encodage c'est du chinois, j'avais justement fait du html pour pas être ennuyé par les mises à jour php et là ça ne marche pas :wink: .
     
  4. Furtif
    Furtif WRInaute accro
    Inscrit:
    9 Août 2005
    Messages:
    2 994
    J'aime reçus:
    355
    Tu remplaces sur tes pages :
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    par
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
     
  5. indigene
    indigene WRInaute accro
    Inscrit:
    7 Septembre 2003
    Messages:
    4 101
    J'aime reçus:
    176
    Je ne comprend pas ton problème avec php si ton site est en html
     
  6. Daktari
    Daktari WRInaute impliqué
    Inscrit:
    10 Mai 2004
    Messages:
    508
    J'aime reçus:
    0
    C'est bien là tout le problème, infomaniak me dit que leur hébergement sont d'office en php et qu'à partir de php 5.6, l'encodage est en utf8 alors que j'ai du html, avec du texte écrit en "dur" et apparemment il y a une incompatibilité et je cherche comment la solutionner avant qu'ils n'abandonnent le php 5.5 pour le php 5.6.

    En d'autres termes, pourquoi une page écrite en html avec des caractères accentués en "dur" bugge sous php 5.6 ou php 7.0 ?
     
  7. noren
    noren WRInaute accro
    Inscrit:
    8 Avril 2011
    Messages:
    2 816
    J'aime reçus:
    18
    Si ton texte est écrit en dur et que t'as des soucis de caractères accentués c’est que ton fichier html a été enregistré dans un format différent de celui attendu par le serveur.

    Essaye d'enregistrer test fichiers html au format utf-8 sans bom
    Tu peux faire l'essai avec une page html test.
     
  8. indigene
    indigene WRInaute accro
    Inscrit:
    7 Septembre 2003
    Messages:
    4 101
    J'aime reçus:
    176
    Pour éviter ce genre de problème il suffit de coder chaque caractère accentué avec son équivalent html ( & e a c u t e ; pour é par exemple)
     
  9. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 182
    J'aime reçus:
    351
    @indigene: c'est une grosse ânerie de faire ça :roll:
     
  10. indigene
    indigene WRInaute accro
    Inscrit:
    7 Septembre 2003
    Messages:
    4 101
    J'aime reçus:
    176
    pour quelles raisons ?
     
  11. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 182
    J'aime reçus:
    351
    Parce qu'il suffit de mettre le bon encodage.
    En UTF8:
    é => 2 octets
    &eacute; => 8 octets
     
  12. Daktari
    Daktari WRInaute impliqué
    Inscrit:
    10 Mai 2004
    Messages:
    508
    J'aime reçus:
    0
    Bonjour,

    j'ai fait quelques tests avec ce que vous m'avez dit et je vais résumer pour voir si tout est correct.

    Premièrement, je remplace sur toutes les pages la balise

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

    par

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

    Question : à quoi sert le "/" ?

    Ensuite, j'utilise textwrangler sous mac et je vois UTF8 et UTF8 avec bom au moment de l'enregistrement, je choisis le premier pour l'avoir sans bom si j'ai bien compris ? Apparemment ça fonctionne seul problème j'ai certains pas tous des " ' " qui sont remplacés par des ? inversés dans textwrangler de même pour le "oe" de oeuf et ils n'apparaissent pas sur la page en ligne, par contre, si je corrige dans le document en UTF8 apparemment il le prend en compte mais évidemment c'est long et fastidieux car je dois tout relire ...

    Vu qu'il me faudra du temps, je compte corriger et mettre en ligne une page à la fois, je suppose que ce sera compatible avec php 5.5 et qu'il me suffira de basculer en 5.6 ou 7.0 une fois que j'aurai tout changé.

    Merci pour votre aide.
     
  13. noren
    noren WRInaute accro
    Inscrit:
    8 Avril 2011
    Messages:
    2 816
    J'aime reçus:
    18
    Salut

    Il me semble qu'en HTM tu es obligé de fermer tes balises d'ou la nécessité de mettre le /
    Tu dois le faire pour les balises img, br etc. celles qui n'ont pas de balises ouvrantes et fermantes tel que <strong>blabla</strong>

    maintenant il me semble qu'en html5 les / pour les img, meta, br etc. ne sont plus nécessaires mais il faut que ta page html soit déclarée en html 5. (a confirmer)

    Code:
    <html lang="fr">
       <head>
    	<meta charset="utf-8">
    ....
    
    As tu essayé d'ajouter également la ligne indiquée plus haut dans ton .htaccess ?

    mais bon a priori ton problème venait bien de l'encodage de ton fichier html, vu que tes textes étaient écris en dur.
     
  14. Daktari
    Daktari WRInaute impliqué
    Inscrit:
    10 Mai 2004
    Messages:
    508
    J'aime reçus:
    0
    Bonjour,

    je tenais encore à vous remercier, après 4 mois de dur labeur, j'ai réécrit toutes les pages en UTF8 et ça fonctionne même sous php 7 :D . J'en ai aussi profité pour suivre les conseils google et rendre mon site compatible avec toutes les plateformes et tailles d'écran.

    Maintenant, mon hébergeur me propose, ce n'est pas une obligation de passer en https, apparemment c'est encore assez complexe, notamment au niveau de l'écriture des liens ? Est-ce vraiment utile pour un site de 50 pages en HTML ?

    Bonne journée.
     
Chargement...
Similar Threads - Php caractères accentués Forum Date
Passage à PHP5.6, problème sur caractères accentués Développement d'un site Web ou d'une appli mobile 24 Juin 2015
[PHP] Limite chaîne de caractères à partir d'un caractère donné Développement d'un site Web ou d'une appli mobile 25 Janvier 2011
URL SEO friendly et codage de caractères (PHP) Développement d'un site Web ou d'une appli mobile 18 Mars 2009
php éliminer une chaine de caracteres dans une autre Développement d'un site Web ou d'une appli mobile 25 Octobre 2008
PHP Compter les caractères et accents Développement d'un site Web ou d'une appli mobile 27 Mars 2008
Sauvegardes Phpmyadmin et les caractères... Développement d'un site Web ou d'une appli mobile 7 Février 2007
PHP et MagpieRSS, couper une chaine de caractères Développement d'un site Web ou d'une appli mobile 13 Mars 2006
PHPmyadmin, base de données et jeux de caractères ... Administration d'un site Web 7 Mars 2006
Support phpbb ! Remplacer les caractères dans les titres ! Développement d'un site Web ou d'une appli mobile 13 Novembre 2005
[Réglé][PHP] Conversion de caractères Administration d'un site Web 25 Avril 2005
Caractères et phpMyAdmin Administration d'un site Web 8 Mars 2005
[PHP] Supprimer les mots de moins de x caractères Administration d'un site Web 25 Juin 2004
En PHP : enregistrer un id de page/user variable. Développement d'un site Web ou d'une appli mobile Aujourd'hui à 13:45
Indent en mode PHP ? Développement d'un site Web ou d'une appli mobile 9 Juin 2022
Arborescence de classes PHP et séquentialité. Développement d'un site Web ou d'une appli mobile 16 Mai 2022
Afficher des infos depuis plusieurs page en PHP Développement d'un site Web ou d'une appli mobile 23 Mars 2022
Sites de scripts PHP, jQuery, Ajax, etc. Le café de WebRankInfo 20 Mars 2022
Détecter arrêt user d'un script PHP ? Développement d'un site Web ou d'une appli mobile 28 Décembre 2021
sessions PHP sans cookies ? Développement d'un site Web ou d'une appli mobile 26 Décembre 2021
Afficher la dernière version d'un fichier php ? Développement d'un site Web ou d'une appli mobile 8 Novembre 2021