代码:

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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top