Javascript / nodejs ANSI支持(Windows-1252)

时间:2017-08-28 07:41:27

标签: javascript node.js

我正在寻找如何为外部应用程序创建导出文件的方法,该文件仅在Windows-1252中接受变音编码。用户应该能够通过Web应用程序下载文件并将其导入外部应用程序。我在后端使用nodejs。

问题是nodejs不支持encodings甚至不类似于1252,所以像ľščťžýáíé这样的特殊字符是个问题。是否有一些解决方法或方法如何在前端(在AJAX请求之后)以所需的编码创建文件?

编辑:

应用程序所有者指定的编码很差。正如@robertklep所说,windows-1252编码不好。我尝试了很多不同的编码,一个合适的编码是CP-1250。使用iconv-lite我创建了这个示例解决方案。

total.js

const iconv = require('iconv-lite);

exports.install = function() {
    F.route('/route/to/export',  download, ['get']);
};

function download() {
    var self = this;
    var text = 'some important content on multiple lines';
    var content = iconv.encode(text, 'CP1250');
    return self.res.content(200, content, 'text/plain', true, {
        'Content-Disposition': 'attachment; filename="export.txt"'
    });
}

前端

$('#btn-export').on('click', function(){
    location.href = '/route/to/export';
});

这对我来说效果很好,但有人可以从后端找到更好的文件传输解决方案吗?

0 个答案:

没有答案