Forum Linux.débutant problème d'accent avec un site web

Posté par  .
Étiquettes :
0
27
août
2004
Bonjour à tous, j'ai installé une fedora core 2 et tout s'est bien passé.

j'ai toutefois eu un problème avec les caractères accentués qui ne s'affichaient pas correctement (hiéroglyphes) j'ai donc cherché sur le web comment résoudre le problème et là j'ai trouvé : sysfont=lenomdemapolice en latin 9.

cette manip à résolu le problème pour les accents en lignes de commande, par contre j'héberge un site web (apache 2, mysql 4 et php 4 ) et les accents continuent à ne pas s'afficher correctement (la personne qui a fait le site a mis des caractères accentués plutôt que leur code respectif html).

y aurait il une autre manip à faire pour pouvoir afficher correctement ces accents ???
  • # apache et encodage

    Posté par  . Évalué à 4.

    c'est un problème plus compliqué qu'il n'y paraît

    les caractères peuvent être encodés selon plusieurs normes, je pense que je ne t'apprends rien, et le but du jeu est d'harmoniser les normes qu'utilisent tes différents logiciels

    mais dès qu'on parle de web tout part en sucette

    1/ les pages ébergées sur ton site sont encodées selon un certain format, probablement iso-8859-1. Normalement c'est précisé dans le code html des pages web avec une ligne comme :

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

    Malheureusement beaucoup de rédacteurs oublient cette ligne...


    2/ Apache sert les pages html selon un certain encodage par défaut. A priori, c'est assez néfaste. La ligne en question dans le httpd.conf (ou common.conf, ou apache2.conf selon la distro) est celle-ci :

    AddDefaultCharset iso-8859-1

    À mon avis, mais ça n'est que mon avis, il vaut mieux la remplacer par:

    AddDefaultCharset Off


    3/ PHP fabrique ses pages dynamiques selon un certain encodage, spécifié dans le fichier de conf php.ini :

    default_charset = "iso-8858-1"

    4/ toutes les applications ou presque sur ton ordi se servent de deux variables d'environnement pour décider quel encodage utiliser : LANG et MM_CHARSET

    j'imagine que sous FC2 ces variables sont correctement positionnées à l'installation. Tu peux peut-être le vérifier en tapant dans une console "echo $LANG" par exemple.

    chez moi, j'ai ça dans /etc/profile pour bien les configurer :

    export LANG=fr_FR.UTF-8
    export MM_CHARSET=UTF-8

    avec de l'iso 8859-1 ça donne probablement :

    export LANG=fr_FR.ISO-8859-1
    export MM_CHARSET=ISO-8859-1





    Voilà, le but du jeu maintenant pour toi est d'harmoniser tout ça de façon à ce que ça utilise des confs compatibles. C'est loin d'être le point de conf le plus facile dans les *NIX, mais ne désespère pas, en fait tout cela est assez cohérent quand on y pense :)


    Hésite pas à redemander si ya qqch de pas clair.
  • # Solution ;)

    Posté par  . Évalué à 0.

    Dans le fichier /etc/httpd/conf/httpd.conf tu peux choisir à un endroit l'encodage utilisé pour tes pages WEB.

    La tu remplace ce qui existe par ce qui va bien (iso....) et voila
  • # ok cela fonctionne

    Posté par  . Évalué à 1.

    Merci à vous !!!!

    cela fonctionne, j'ai mis à off le addefaultcharset et cela à marché...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.