我好几天都在寻找这个问题的答案。实际上,我需要将ansi编码的csv文件上传到Web服务。前端应用程序读取文件将其内容编码为base64并以json格式将其发送到Web服务。但是当我尝试使用javascript读取文件时,非英语的unicodes只会被改为其他内容。
有没有办法在javascript中读取ansi编码的csv文件并将其编码转换为utf-8?
通过我的研究,我认为是不可能的。该文件必须是UTF-8本身。
任何建议都会有很大的帮助。
答案 0 :(得分:2)
对不起,我一开始误解了你的问题。你的麻烦来自于阅读文件的那一刻。尝试加载错误的编码时,在内容破坏后尝试转换文件是没用的。我在fiddle和this example启发了article on html5rocks中的FileReader API
var r = new FileReader();
r.readAsText(f, 'windows-1252');
我在这里看到的唯一问题是没有自动编码检测。在加载文件之前,您需要知道编码。