的node.js神经框架的unicode响应
题
代码:
var nerve = require("./nerve");
var sitemap = [
["/", function(req, res) {
res.respond("Русский");
}]
];
nerve.create(sitemap).listen(8100);
显示在浏览器:
CAA:89
应该如何正确的呢?
解决方案
出现来解释你通过串如二进制字符串,你看到这导致输出。您可以使用Buffer类到你的UTF-8字符手动转换为二进制字符串。您还需要设置字符集在你的头:
var sitemap = [
["/", function (req, res) {
res.respond({
headers: {"Content-Type": "text/html; charset=utf-8"},
content: new Buffer("Русский", "utf8").toString("binary")
});
}]
];
如果您想尝试另一种框架,快递做一个更好的工作处理UTF-8。它解释字符串作为UTF-8和默认正确设置的字符集:
var app = require("express").createServer();
app.get("/", function (req, res) {
res.send("Русский");
});
app.listen(8100);
不隶属于 StackOverflow