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