2017-10-10 2 views
0

J'essaye d'analyser un fichier csv, mais ce format de fichier est en ANSI. Alors, quand j'imprimer le résultat à la page, il semble comme ci-dessous: ANSI file outputjs comment convertir une chaîne en utf-8

et j'utiliser le code suivant dans mon fichier php test pour convertir la chaîne:

iconv(mb_detect_encoding($str, mb_detect_order(), true), "UTF-8", $str); 

alors il semble normal maintenant que cette :

normal output

Mais je voudrais faire la conversion sur la face avant, en utilisant js, donc est-il possible de convertir la chaîne au format utf-8 comme méthode php -> iconv().

Merci.

+0

si vous pouvez utiliser le noeud, regardez dans les modules de base, 'string_decoder'. – YvesLeBorg

+0

ANSI en utilisant quelle page de code, exactement? Il n'y a pas de "ANSI". – RocketNuts

Répondre

1

Voici un exemple de code à la lecture d'un fichier en utilisant un contrôle d'entrée de fichier et affiche la première ligne ainsi que certaines des propriétés du fichier:

<input type="file" id="fileinput" /> 
<script type="text/javascript"> 
function readSingleFile(evt) { 
//Retrieve the first (and only!) File from the FileList object 
var f = evt.target.files[0]; 

if (f) { 
    var r = new FileReader(); 
    r.onload = function(e) { 
     var contents = e.target.result; 
    alert("Got the file.n" 
      +"name: " + f.name + "n" 
      +"type: " + f.type + "n" 
      +"size: " + f.size + " bytesn" 
      + "starts with: " + contents.substr(1, contents.indexOf("n")) 
    ); 
    } 
    r.readAsText(f); 
    } else { 
    alert("Failed to load file"); 
    } 
} 

document.getElementById('fileinput').addEventListener('change', readSingleFile, false); 
</script> 

Vous pouvez utiliser la lecture des fichiers Utilisation de l'API HTML5 FileReader. Il est inutile d'essayer de convertir le fichier après que le contenu a été ruiné en essayant de charger dans un mauvais encodage.

Essayez de regarder dans les articles ci-dessous si vous voulez aller au fond:

htmlgoodies

html5rocks

+0

Merci, mais le problème est que le format de fichier d'origine est en ANSI, donc je veux faire le format de fichier comme UTF-8, ou convertir la chaîne de lecture à utf-8. –