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 :

conversion iso -> utf


Sujet :

C

  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut conversion iso -> utf
    Bonjour

    J'aimerai savoir s'il existe des méthodes automatiques pour convertir en C des fichiers iso-8859-15 en utf8 ?

    Le but serait de me faire un programme qui convertisse tous les fichiers de mon site web. Il faudra aussi que je trouve et modifie des code du genre encoding="iso-8859-15" ou "charset=iso-8859-15"
    Ce sera aussi pour moi un exercice...
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 394
    Par défaut
    Sans la page de codes, tu ne peux pas faire grand-chose par toi-même.
    Sous unixoïde, renseigne-toi sur iconv.
    Sous Windows, la méthode classique consiste à utiliser les fonctions de conversion entre ASCII étendu et UTF-16 (ou UCS-2 sous Windows NT 4).
    On peut donc utiliser ces fonctions pour :
    • Transformer ISO-8859-15 en UTF-16
    • Convertir UTF-16 en UTF-8 (mais ça, on peut aussi le faire soi-même, c'est un bon exercice).
    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.

  3. #3
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Merci !

    Il va donc falloir que je cherche une page de code (équivalence entre l'iso et l'utf).
    Par contre, tu parles de utf16. Il vaut mieux le 8 ou le 16 ? Quelle sera la pérénité de l'utf8 ? Se ferra t'il détronner rapidement par le 16 ?
    J'avais tout en iso, mais Linux (mon OS) passant en utf, je commence à avoir des problèmes...
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  4. #4
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Oui, iconv est la solution http://man.developpez.com/man3/iconv.3.php

    Si c'était du Latin1 (iso-8859-1), tu pourrais convertir les caracteres accentués (tranche 0xa0-0xff) en entité xml/html representant le caractere unicode equivalent.
    Exemple, le 'Ç' est 199. En xml/html on pourrait l'ecrire '& #199;'

    Attention à ne pas confondre le Latin1 et le windows-1252, car dans windows-1252 ya des caracteres dont le code Unicode n'existe pas (la tranche 0x80-0x9F). Par exemple, le symbole € a le code 0x80 et on a pas le droit d'ecrire '& #128;' (le caractere unicode 128 n'existe pas)

    http://en.wikipedia.org/wiki/Latin1
    http://en.wikipedia.org/wiki/Windows-1252

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 394
    Par défaut
    Gruik: Ce n'est pas que le code Unicode n'existe pas, mais que le code CP1252 de ces caractères n'est pas égal à leur code Unicode.

    Troumad: UTF-16 est ce qui est le plus utilisé en mémoire (notamment sous Windows et Java), car il est beaucoup plus facile à traiter que UTF-8. Par contre, UTF-8 est préférable pour le stockage (fichiers texte, etc.).

    En mémoire, il me semble que Linux utilise directement de l'UTF-32/UCS-4 (en clair, j'ai lu ici que les wchar_t sous Linux font 4 octets).
    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
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Citation Envoyé par Médinoc
    Gruik: Ce n'est pas que le code Unicode n'existe pas, mais que le code CP1252 de ces caractères n'est pas égal à leur code Unicode.
    Je sais, jvoulais dire que le caractere de code unicode 0x80 n'existe pas car la tranche 0x80-0x9f est unused (tout comme en Latin1 puisque le Latin1 est le début de la table Unicode)

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 394
    Par défaut
    Ok.
    De toute façon, Troumad n'est pas en Latin-1, mais en Latin-9.
    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.

Discussions similaires

  1. Conversion ISO-8859-1 vers UTF-8
    Par wd_newbie dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/03/2015, 12h45
  2. Conversion ISO-8859-1 vers UTF-8 dans Eclipse
    Par Jerhom dans le forum Eclipse
    Réponses: 2
    Dernier message: 03/06/2008, 17h35
  3. Réponses: 1
    Dernier message: 05/12/2006, 16h54
  4. conversion iso-8859-1 vers utf-8
    Par gorgonite dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/08/2006, 12h49
  5. conversion iso-8859-1 => UTF-8 (unicode)
    Par pierru666 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/05/2006, 22h17

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