Je me bats avec le problème suivant. En utilisant javascript, je voudrais changer le jeu de caractères d'un contenu de fichier et afficher ce contenu à l'utilisateur.
J'ai une entrée: formulaire de fichier. En cas de changement, je lis le contenu
$('#form input:file').change(function(event){
file = this.files[0];
reader = new FileReader();
reader.onload = function(event) {
result = event.target.result.replace(/\n/g,'<br />');
$('#filecontents').html(result);
});
reader.readAsText(file);
})
Le fichier est dans Windows-1251. Je voudrais convertir le contenu du fichier en un autre encodage et ensuite le présenter à l'utilisateur.
Est-ce possible à réaliser avec javascript?
Cordialement
Si votre page HTML est en UTF-8 et votre fichier est en ISO-8859-1.
Cela fonctionne:
reader.readAsText(file, 'ISO-8859-1');
Je n'ai pas de fichier Windows-1251 donc je n'ai pas pu le tester mais il semble que le 'CP1251' soit pris en charge (par Google Chrome au moins), donc:
reader.readAsText(file, 'CP1251');
Si rien de tout cela ne fonctionne. Ensuite, vous devez modifier la mise en forme manuellement. Malheureusement, je ne connais aucune bibliothèque JavaScript qui fasse l'affaire.
À partir du mappage unicode ici et de Delan Azabaniréponse , vous devriez réussir à construire une fonction qui convertit char par char votre chaîne de CP1251 en UTF -8.