1. ⭐⭐⭐ Grosse PROMO en cours sur ma plateforme SEO My Ranking Metrics
    Rejeter la notice

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:
    514
    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 903
    J'aime reçus:
    14
    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:
    514
    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 passionné
    Inscrit:
    9 Août 2005
    Messages:
    2 462
    J'aime reçus:
    136
    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:
    3 657
    J'aime reçus:
    72
    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:
    514
    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 903
    J'aime reçus:
    14
    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:
    3 657
    J'aime reçus:
    72
    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:
    8 759
    J'aime reçus:
    234
    @indigene: c'est une grosse ânerie de faire ça :roll:
     
  10. indigene
    indigene WRInaute accro
    Inscrit:
    7 Septembre 2003
    Messages:
    3 657
    J'aime reçus:
    72
    pour quelles raisons ?
     
  11. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 759
    J'aime reçus:
    234
    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:
    514
    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 903
    J'aime reçus:
    14
    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:
    514
    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] Détecter le navigateur / bot en fonction du HTTP_USER_AGENT Développement d'un site Web ou d'une appli mobile Samedi à 06:49
PHP : checkdnsrr (MX) et domaine yahoo.fr Développement d'un site Web ou d'une appli mobile 5 Septembre 2019
Migration site PHP vers Gatsby : quelques questions Problèmes de référencement spécifiques à vos sites 22 Août 2019
Rediriger sujet phpBB3 vers Vanilla 3 URL Rewriting et .htaccess 6 Août 2019
JS Ajax PHP e-MAIL Développement d'un site Web ou d'une appli mobile 17 Juin 2019
récupérer id en php sans lien Développement d'un site Web ou d'une appli mobile 25 Avril 2019
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice