IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Jeu de caractères


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 73
    Points
    73
    Par défaut Jeu de caractères
    Bonjour,

    Après avoir fonctionné correctement pendant des mois, l'affichage des caractères accentués se fait mal sur certaines pages html et pas sur d'autres. (Linux/Apache, Version PHP 5.2.9 )

    "décudélànt" devient "décudélà nt"

    A mon avis, rien a faire avec la commande du jeu de caractères. J'ai créé une nouvelle page test, le résultat est le même et n'a rien a faire avec l'ordinateur ni le navigateur, puisque j'ai testé avec différent matériels.

    sur deux domaines chez le même hébergeur
    www.asppi.org/test.php
    www.philabourse.fr/test.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    print'
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    </head>
    <body>
    ';
     
    print "décudélànt";
     
    print'</body></html>';
    ?>
    Quel est ce phénomène que je ne puis maîtriser ni trouver des antécédants dans le forum.

    Une bonne note à celui qui sait me dépatouiller.

    Rodolphe

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    problème d'encodage UTF-8 <> ISO-8859-1, c'est l'un des plus gros sujets sur le forum

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Pour être précis : le script doit être encodé en UTF-8 là. La meta est donc fausse/incohérente et le charset n'est pas indiqué dans les entêtes HTTP (header à moins de compter sur les charsets par défaut de PHP/Apache) (Content-type: text/html; charset=utf-8)

  4. #4
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Salut,

    Nous disposons d'un article sur le sujet : Passez à l'UTF-8 sans manquer une étape qui peut t'être utile.

  5. #5
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    Commence par ajouter la ligne ci-dessous dans le fichier .htaccess
    AddDefaultCharset iso-8859-1
    Si le problême demeure, il faut revoir l'encodage des fichiers.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 73
    Points
    73
    Par défaut problème différent
    Avec une vingtaine de sites Internet, je connais bien les problèmes d'encodage (si on veut), mais ici le problème est différent. A mon avis il se situe au niveau du serveur, apache ou linux ou d'une version nouvelle. Même si je procède à l'encodage UTF8 le résultat n'est pas au rendez-vous.

    Il n'y a pas de raison non plus que cela ait fonctionné pendant des mois, pour tout d'un coup ne plus fonctionner tout d'un coup.

    La mise en UTF a résolu un cas de problème, décudélà redevient normal, mais il n'y a plus les caractères accentués.

    Le problème doit se trouver dans la synchronisation des différent éléments php, apache ou linux.

    Ce qui me chagrine aussi, est le mélange des deux dysfonctionnements au niveau d'une seule page !

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 146
    Points : 262
    Points
    262
    Par défaut
    Et pourtant ils ont raisons

    http://www.philabourse.fr/test.php affiche les accents car le serveur renvoie bien le header correct a savoir UTF8.

    http://www.asppi.org/test.php bug car le serveur renvoie un header incorrect ISO-8859-1.

    Donc soit tu force tes headers correctement dans tes pages soit tu forces au niveau apache mais la tes 2 domaines ne renvoie pas les mêmes données.

    Une des solutions est dans la doc proposée par Thes32 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    Cela force le client a interpréter en utf8 tu codes tes pages en utf8 et plus de soucis.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 73
    Points
    73
    Par défaut Je ne sais pas qui a raison
    En fait, voila ce qui m'arrive:

    Mon client FTP est devenu hors atteinte pour cause de DD déconnecté. J'ai donc utilisé le cpanel de l'hébergeur pour modifier quelques fichiers de variables texte.

    Et c'est lors de cette modification que les fichiers texte ont subi un changement d'encodage. Je dois les corriger un à un.

    Comme en plus ces fichiers texte servent à alimenter des autres fichiers qui sont générés et sauvegardés par un cronjob, je dois attendre un ou deux jours avant que toute remise en état soit visible.

    Cela dit, il me semble que le problème reste, ni en UTF, ni en ISO j'ai le bon encodage, que je le place en .htacces ou en Meta.

    Le problème n'est donc pas résolu.

    Merci à vous de m'avoir aidé, même si la solution n'est pas encore trouvée, cela m'a permis d'avancer.

Discussions similaires

  1. [Console] Police et jeu de caractères
    Par Séb. dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 18/09/2005, 15h24
  2. [XSL] Transformation xsl et jeu de caractères cyrillique
    Par Maximil ian dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/09/2005, 11h41
  3. Jeu de caractères vietnamien
    Par franculo_caoulene dans le forum Installation
    Réponses: 5
    Dernier message: 01/09/2005, 10h32
  4. [SQL2K]URGENT: récupérer jeu de caractères et ordre de tri ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/04/2005, 11h43
  5. Jeu de caractères
    Par webshell dans le forum Installation
    Réponses: 2
    Dernier message: 23/05/2004, 09h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo