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

Windows Discussion :

UTF-8 est-il standard ?


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut UTF-8 est-il standard ?
    Bonjour,

    Je reçois un fichier supposé être au format UTF-8 Mais quand je l' ouvre dans un éditeur (Scite, notepad++), il n'affiche pas les caractères accentués même en mode UTF8.
    J'ai regardé le binaire du fichier par rapport à un fichier UTF8 qui marche et j'ai vu que le codage du é par exemple est différent:
    Fichier OK: C3A9 (en hexa)
    Fichier KO: 65CC81 soit e + CC81

    Je voudrais dire à celui qui m'a fourni ce fichier que le codage n'est pas bon mais les caractères sont affichés correctement sous FireFox ou Word donc il va me dire qu'il est bon!

    D'ou ma question: existe-t-il vraiment un standard pour coder les caractères en UTF8 (par exemple é sera toujours le même) ou y-a-t-il plusieurs codages possibles ?
    Si quelqu'un peut m'éclairer, ce serai sympa.

    J-Michel

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Jei,

    Unicode accepte plusieurs manières de coder certains caractères, essentiellement ceux qui ont des signes diacritiques (accents, cédille pour nous, il en est d'autres), ce qui se traduit logiquement par des codes UTF8 différents.

    Si Firefox et Word affichent correctement ton caractère, c'est que les 2 codages sont valides. Tant pis pour Scite, notepad++.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut
    Citation Envoyé par droggo Voir le message
    Jei,

    Unicode accepte plusieurs manières de coder certains caractères, essentiellement ceux qui ont des signes diacritiques (accents, cédille pour nous, il en est d'autres), ce qui se traduit logiquement par des codes UTF8 différents.

    Si Firefox et Word affichent correctement ton caractère, c'est que les 2 codages sont valides. Tant pis pour Scite, notepad++.
    Le problème, c'est qu'il n'y a pas que scite et notepad.
    Par exemple, si je veux convertir le fichier UFT-8 avec iconv, l'accent du é est bien rendu avec C3A9 mais pas avec 65CC81
    Je m'étonne quand même qu'il n'y ait pas de standard pour coder un simple é en unicode. Comment savoir quels sont les codes possibles pour é par exemple ?

    J-Michel

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bonjour,

    Firefox choisit lui même le charset à utiliser.

    Mais tu peux le changer via le menu affichage>Encodage des caractères, si ça se trouve il visualise son fichier en ISOXXXX sans s'en rendre compte.

    Mais sinon il y a un standard pour les codes caractère en UTF-8, et tu trouveras toutes les tables à l'endroit suivant: http://www.unicode.org/charts/

    Pour le codage standard su é la table est la suivante: http://www.unicode.org/charts/PDF/U0080.pdf

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut
    Citation Envoyé par sinok Voir le message
    Bonjour,

    Firefox choisit lui même le charset à utiliser.

    Mais tu peux le changer via le menu affichage>Encodage des caractères, si ça se trouve il visualise son fichier en ISOXXXX sans s'en rendre compte.
    J'ai pas de problème avec FireFox. Quand je choisi l'encodage UTF-8, j'ai bien mon é avec les deux fichiers.

    Mais sinon il y a un standard pour les codes caractère en UTF-8, et tu trouveras toutes les tables à l'endroit suivant: http://www.unicode.org/charts/

    Pour le codage standard su é la table est la suivante: http://www.unicode.org/charts/PDF/U0080.pdf
    Merci pour les liens. Mais je ne vois qu'une façon de coder le é.
    Pourquoi en UTF-8, je me retrouve avec 2 codages différents pour cette lettre. Je n'y comprend rien.
    Quelqu'un sait par quelle opération ce 00E9 pour é se transforme en C3A9 ou 65CC81 selon le fichier UFT-8.

    Désolé d'insister mais je n'ai toujours pas compris.
    J-Michel

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    00E9 est juste la notation interne à UTF-8.
    Une foie encodé en Hexa ça donne C3 A9

    Bon ensuite les deux sont bien valides après vérification.

    En effet

    UTF-8(65 CC 81) = U+0065 U+0301 = e + accent aigu = é
    UTF-8(C3 A9) = U+00E9 = é

Discussions similaires

  1. Police de caractère qui n'est pas standard
    Par mikadom dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 28/01/2009, 16h27
  2. read() est-il standard ?
    Par paillepailles dans le forum C
    Réponses: 16
    Dernier message: 09/01/2008, 17h13
  3. Réponses: 3
    Dernier message: 19/08/2006, 18h09
  4. [SQL] Tester si une chaine est au format date standard
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 5
    Dernier message: 18/07/2006, 14h00
  5. Comment savoir qu'une fonction est standard ?
    Par D[r]eadLock dans le forum C
    Réponses: 5
    Dernier message: 24/03/2003, 14h42

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