码:
var nerve = require("./nerve");
var sitemap = [
["/", function(req, res) {
res.respond("???????");
}]
];
nerve.create(sitemap).listen(8100);
Run Code Online (Sandbox Code Playgroud)
在浏览器中显示:
CAA:89
Run Code Online (Sandbox Code Playgroud)
它应该如何正确?
神经似乎将您传递的字符串解释为二进制字符串,从而产生您所看到的输出.您可以使用Buffer类手动将UTF-8字符转换为二进制字符串.您还需要在标题中设置charset:
var sitemap = [
["/", function (req, res) {
res.respond({
headers: {"Content-Type": "text/html; charset=utf-8"},
content: new Buffer("???????", "utf8").toString("binary")
});
}]
];
Run Code Online (Sandbox Code Playgroud)
如果你想尝试另一个框架,Express可以更好地处理UTF-8.它将字符串解释为UTF-8并默认设置正确的字符集:
var app = require("express").createServer();
app.get("/", function (req, res) {
res.send("???????");
});
app.listen(8100);
Run Code Online (Sandbox Code Playgroud)