js如何将字符串转换为utf-8

时间:2017-10-10 09:03:10

标签: javascript php utf-8

我正在尝试解析csv文件,但此文件格式为ANSI。因此,当我在页面上打印出结果时,它看起来如下所示: ANSI file output

我在我的测试php文件中使用以下代码来转换字符串:

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

然后现在看起来很正常:

normal output

但我想在前端进行转换,使用js,所以有没有办法将字符串转换为utf-8格式,如php方法 - >的iconv()。

感谢。

1 个答案:

答案 0 :(得分:1)

以下是使用文件输入控件读取一个文件的示例代码,并显示第一行以及一些文件的属性:

<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>

您可以使用HTML5 FileReader API来阅读文件。尝试加载错误的编码时,在内容破坏后尝试转换文件是没有意义的。

如果您想深入了解,请尝试查看以下文章:

htmlgoodies

html5rocks