我正在寻找如何为外部应用程序创建导出文件的方法,该文件仅在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';
});
这对我来说效果很好,但有人可以从后端找到更好的文件传输解决方案吗?