It turned out this is already possible with current version. You just need to create custom jsreport script and in the afterRender hook encode the result into desired encoding. For example for windows-1252 you can do.

const iconv = require('iconv-lite'); function afterRender(req, res) { res.content = Buffer.from(iconv.encode(res.content.toString(), 'win1252'), 'binary') }