Firefox 52:Javascript parseFloat 不适用于 UTF-16 字符串

Firefox 52: Javascript parseFloat not working with UTF-16 strings

我一直在尝试用这个在 Firefox v52 中读取 UTF-16 文件的内容:

$.ajax({
    type: "GET",
    url: "downloads/dg_mare_piwik_social.csv",
    dataType: "text",
    success: function(data) {

        // Split the lines

        var lines = data.split('\n');
        for (var i = 1, len = lines.length; i < len; ++i) {
            var items = lines[i].split(',');
            console.log(items[0], Number.parseFloat(items[1]));
        }
});

问题是在控制台中我从 parseFloat(items[1]) 得到 NaN。 这种情况只发生在 Firefox 中,所有其他浏览器都会得到这个数字。

我怎样才能让它工作?如何从 UTF-16 字符串中获取数字?

感谢T.J。帮助我确定问题根源的 Crowder。改成这个解决了我的问题:

$.ajax({
    type: "GET",
    url: "downloads/dg_mare_piwik_social.csv",
    dataType: "text",
    beforeSend: function (data) { data.overrideMimeType('text/plain; charset=UTF-16'); },
    success: function(data) {

        // Split the lines

        var lines = data.split('\n');
        for (var i = 1, len = lines.length; i < len; ++i) {
            var items = lines[i].split(',');
            console.log(items[0], Number.parseFloat(items[1]));
        }
});

在发送前添加 overrideMimeType。