我们可以使用 javascript 将 ANSI 编码的 CSV 文件转换为 utf-8 编码的文件吗?

Man*_*Rai 4 javascript encoding character-encoding

几天来我一直在寻找这个问题的答案。实际上,我需要将 ansi 编码的 csv 文件上传到 Web 服务。前端应用程序读取文件,将其内容编码为 base64,然后以 json 格式将其发送到 Web 服务。但是,当我尝试使用 javascript 读取文件时,非英语 unicodes 只会更改为其他内容。

有没有办法在javascript中读取ansi编码的csv文件并将其编码转换为utf-8?

以我的研究,我认为是不可能的。该文件本身必须是 UTF-8。

任何建议都会有很大帮助。

Kir*_*tin 5

对不起,我一开始误读了你的问题。你的麻烦出现在阅读文件的那一刻。在尝试以错误的编码加载内容被破坏后尝试转换文件是没有用的。我在这个小提琴中想出了 FileReader API,灵感来自这个例子关于 html5rocks 的文章

  var r = new FileReader();
  r.readAsText(f, 'windows-1252');
Run Code Online (Sandbox Code Playgroud)

我在这里看到的唯一麻烦是没有自动编码检测。在加载文件之前,您需要知道编码。