用ISO-8859-1编码发送请求

我有一个小问题,我想要从我们的SVN服务器(VisualSVN)请求的数据编码为ISO-8859-1,当我试图请求他们与node.js https模块它不编码ä,ö,ü等等。

我的问题是,如何告诉节点请求数据为ISO-8859-1?

PS:我想坚持buildin组件,如果这是不可能的,我打开想法:)

编辑1

这是我用来获取文件的代码

 exports.getSvnFile = function (path, auth, callback) { var options = { host: app.getSetting('svnserver'), method: 'GET', path: '/svn/' + encodeURIComponent(path).replace(/%2F/g, '/'), auth: tools.readFromSession(auth, 'username') + ':' + tools.readFromSession(auth, 'password'), headers: { 'Accept-Charset': 'iso-8859-1' } } try { https.request(options, function (res) { var result = [] try { console.log('STATUS: ' + res.statusCode) console.log('CONTENT-TYPE: ' + res.headers['content-type']) var data = '' res.on('data', function (chunk) { data += chunk }) res.on('end', function () { callback(data, res.headers['content-type']) }) res.on('error', function (err) { console.error(err) }) } catch (ex) { console.error(ex) } }).end() } catch (ex) { console.error(ex) callback([]) } } 

res.end部分被调用时,我得到的数据已经被破坏了。 我想也许Accept-Charset头可能有帮助,但显然它没有。

我可能有解决scheme,对我来说,至less它工作:)

这里是从上面调整的代码:

 exports.getSvnFile = function (path, auth, callback) { var options = { host: app.getSetting('svnserver'), method: 'GET', path: '/svn/' + encodeURIComponent(path).replace(/%2F/g, '/'), auth: tools.readFromSession(auth, 'username') + ':' + tools.readFromSession(auth, 'password') } try { https.request(options, function (res) { var result = [] res.setEncoding('binary') try { console.log('STATUS: ' + res.statusCode) console.log('CONTENT-TYPE: ' + res.headers['content-type']) var data = '' res.on('data', function (chunk) { data += chunk }) res.on('end', function () { callback(data, res.headers['content-type']) }) res.on('error', function (err) { console.error(err) }) } catch (ex) { console.error(ex) } }).end() } catch (ex) { console.error(ex) callback([]) } } 

这是几乎相同的一件事,编码设置为binary然后它完美的工作:)