node.js setEncoding问题

J B*_*J B 4 node.js

如果我运行下面的代码并取消注释"setEncoding"行,我收到以下错误:

/usr/local/test-server/test.js:78

res.setEncoding('utf8');

    ^
Run Code Online (Sandbox Code Playgroud)

TypeError:Object#没有方法'setEncoding'

没有那条线,一切都按预期工作 - 除了浏览器抱怨未声明的字符编码.

在文档,SO,GitHub问题列表或广泛的谷歌搜索中没有任何东西出现任何有用的东西.node.js版本是最新版本:0.8.6

var https = require('https');
var sslPrivateKey = fs.readFileSync('./pk.pem');
var sslCert = fs.readFileSync('./cert.pem');
var sslOpts = { key: sslPrivateKey, cert: sslCert };

var server = https.createServer(sslOpts, function(req, res) {

    if ('GET' === req.method) {

        res.writeHead(200, {'Content-Type': 'text/plain','charset': 'utf8'});
        //res.setEncoding('utf8');
        res.write('You are here' + "\n");
        res.end();

    } 

}

server.listen(8080);
Run Code Online (Sandbox Code Playgroud)

Vad*_*hev 8

http.ServerResponse没有setEncoding方法.您尝试设置标题'charset',但'charset'是'Content-Type'标题的一部分.试试这个:

res.writeHead(200, {'Content-Type': 'text/plain; charset=utf8'});
Run Code Online (Sandbox Code Playgroud)

请记住,这只是客户关于如何解释内容的信息,而不是规则.