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

 C++ Discussion :

Enregistrement en UTF-16


Sujet :

C++

  1. #1
    Invité
    Invité(e)
    Par défaut Enregistrement en UTF-16
    Bonjour,
    Je travail sous visual studio, si je travail avec les wide string , est-ce que si j'enregistre mes sources en UTF-8 il y as un inconvénient ? J'aimerais bien enregistré mes sources en UTF-16 je pense que c'est l'encodage "Unicode - Page de codes 1200" mais je n'en suis pas sur,si oui y aura t-il le fameux BOM si j'enregistre avec cette encodage ?


    Merci d'avance.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 382
    Points : 4 936
    Points
    4 936
    Par défaut
    bonsoir,

    Citation Envoyé par yohann2008 Voir le message
    mais je n'en suis pas sur,si oui y aura t-il le fameux BOM si j'enregistre avec cette encodage ?
    oui, tu vas avoir un fichier en little endian avec le BOM 0xFFFE.

    ensuite en général, je n'ai jamais de problème avec vs et l'encodage des caractères.

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Normalement sur tout Visual Studio >= 2005 je n'ai jamais vu de problème, que ce soit avec des sources UTF-16 ou UTF-8 (il me semble que les applis Microsoft mettent systématiquement une BOM; y compris les extensions des fonctions d'I/O de la C Run-Time Library).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 631
    Points : 10 558
    Points
    10 558
    Par défaut
    Ce qui est marrant, c'est que seul Microsoft semble utiliser le BOM

    Wiki: Indicateur d'ordre des octets

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Ce n'est pas "marrant", c'est de la pure logique: On se retrouve avec des fichiers dans plusieurs encodages ASCII étendus différents beaucoup plus souvent sous Windows (Windows-1252 contre UTF-8, plus un peu d'UTF-16 dans certains cas) que sous Linux (où l'on n'a pratiquement que de l'ASCII pur et de l'UTF-8).
    De plus, les fonctions d'accès aux fichiers POSIX, même en mode texte, ne propose pas d'extensions pour reconnaître et sauter la BOM (Les extensions de Microsoft permettent de reconnaître la BOM d'un fichier en le lisant, et faire la traduction convenablement selon qu'on lise/écrive avec les fonctions "wide" ou non), ce qui pose prétendument problème pour des opérations comme la concaténation de fichiers texte.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Invité
    Invité(e)
    Par défaut
    ok moi qui voulait sans BOM , j'imagine qu'il est très déconseillé de l'enlever voir même obligatoire ?
    La différence entre Unicode - Page de codes 1200 et Unicode (Big-Endian) - Page de codes 1201 c'est bien que le premier est en Little-Endian ?

  7. #7
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    1. Ça dépend avec quoi tu prévois d'ouvrir le fichier. Beaucoup d'éditeurs de texte détectent assez bien l'UTF-16 sans BOM, surtout si la plupart des caractères sont latins.
    2. Oui.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ZF 1.8] Enregistrement des données en UTF-8
    Par nicko_73 dans le forum Zend_Db
    Réponses: 5
    Dernier message: 23/11/2009, 13h32
  2. Réponses: 4
    Dernier message: 17/03/2009, 19h50
  3. PSPad - Enregistrement UTF-8
    Par CIFQ_Drew dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 28/11/2007, 22h37
  4. Enregistrer un TStringList en UTF-8
    Par benj63 dans le forum C++Builder
    Réponses: 2
    Dernier message: 13/11/2007, 17h21
  5. [Conception] Site en UTF-8 + enregistrements dans la db
    Par ToxiZz dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 20/06/2006, 19h49

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