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

JavaScript Discussion :

FileReader et caractères accentués


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut FileReader et caractères accentués
    Bonjour tout le monde,

    Je débute en javascript et j'ai un gros problème que je n'arrive pas à résoudre seul. Mon programme récupère un fichier entré par l'utilisateur via un <input type="file" id="fileInput"> dans mon fichier html, et ensuite je parse son contenu dans un script JS.

    Je récupère son contenu en passant par un FileReader de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var reader = new FileReader();
    reader.onload = function(e) {
        var contents = reader.result;
        parseFile(contents);
    }
    reader.readAsText(file);
    Tout ceci marche très bien sans caractères accentués. Mais quand j'ajoute des caractères accentués, la variable reader.result contient des caractères non-reconnus. Peu importe que je l'affiche via la fonction alert(), directement sur la page html ou encore que je la teste via un expression régulière. Alors que pourtant, en écrivant en dur dans mon fichier JS ou HTML des caractères accentués, ils sont bien affichés à l'écran et match bien les expressions régulière. C'est logique étant donné que ces deux fichiers sont encodés en UTF-8 et que j'ai la balise <meta charset="utf-8"> dans le fichier HTML. Pourtant, le fichier txt que j'utilise est lui aussi encodé en UTF-8 (je l'ai vérifié via Notepad++), mais rien n'y fait, je n'arrive à afficher son contenu avec accents correctement.

    La fonction reader.readAsText prend en argument également l'encodage, et par défaut c'est l'UTF-8. J'ai ajouté le 2e argument en précisant 'UTF-8' mais pas d'amélioration.

    Vous avez une idée de ce que j'ai pu oublier ?

    Merci par avance :jap:

    Edit : je précise que je suis sur la dernière version de Chrome.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    le fichier txt que j'utilise est lui aussi encodé en UTF-8 (je l'ai vérifié via Notepad++)
    avec ou sans BOM ?

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Sans BOM me dit notepad++. C'est un fichier texte créé à la main depuis l'explorateur windows.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    Quand tu dis que tu as "vérifié." Est-ce qu'on peut savoir comment tu as vérifié ? "Avec Notepad++" c'est vague, tu es allé regarder quoi avec ce programme ?

    Est-ce qu'on peut voir le fichier lui-même, par exemple ? (Attaché comme un fichier, bien sûr, ou sur une URL. Pas copier/coller son contenu ici, ça sert à rien quand on veut vérifier l'encodage.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Caractères accentués avec <html:link>
    Par papysam dans le forum Struts 1
    Réponses: 5
    Dernier message: 25/05/2007, 15h18
  2. Chaines avec caractères accentués dans interbase
    Par Tsimplice dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2004, 17h12
  3. Chaînes avec des caractères accentués dans Interbase
    Par François Marliac dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/03/2004, 22h39
  4. [PostgreSQL] Les caractères accentués ?
    Par yacomor dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/02/2003, 16h30
  5. insérer des caractères accentués INFORMIX/JDBC
    Par donde dans le forum Informix
    Réponses: 2
    Dernier message: 19/11/2002, 20h02

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