代码:
var nerve = require("./nerve");
var sitemap = [
["/", function(req, res) {
res.respond("Русский");
}]
];
nerve.create(sitemap).listen(8100);
在浏览器中显示:
CAA:89
它应该如何正确?
最佳答案
神经appears将您传递的字符串解释为二进制字符串,这会导致您看到的输出。您可以使用 Buffer 类手动将 UTF-8 字符转换为二进制字符串。您还需要在 header 中设置字符集:
var sitemap = [
["/", function (req, res) {
res.respond({
headers: {"Content-Type": "text/html; charset=utf-8"},
content: new Buffer("Русский", "utf8").toString("binary")
});
}]
];
如果你想尝试其他框架,Express更好地处理 UTF-8。它将字符串解释为 UTF-8 并默认正确设置字符集:
var app = require("express").createServer();
app.get("/", function (req, res) {
res.send("Русский");
});
app.listen(8100);
关于unicode - node.js Nerve 框架 unicode 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3807576/