node.js Nerve risposta quadro unicode
Domanda
codice:
var nerve = require("./nerve");
var sitemap = [
["/", function(req, res) {
res.respond("Русский");
}]
];
nerve.create(sitemap).listen(8100);
show in del browser:
CAA:89
Come dovrebbe essere corretto?
Soluzione
per interpretare le stringhe si passa come stringhe binarie, che provoca l'uscita che stai vedendo. È possibile utilizzare la classe Buffer per convertire i caratteri UTF-8 caratteri da una stringa binaria manualmente. È inoltre necessario impostare il set di caratteri nelle intestazioni:
var sitemap = [
["/", function (req, res) {
res.respond({
headers: {"Content-Type": "text/html; charset=utf-8"},
content: new Buffer("Русский", "utf8").toString("binary")
});
}]
];
Se volete provare un altro quadro, espresso fa una migliore gestione UTF-8 lavoro. Interpreta le stringhe come UTF-8 e imposta il set di caratteri in modo corretto per impostazione predefinita:
var app = require("express").createServer();
app.get("/", function (req, res) {
res.send("Русский");
});
app.listen(8100);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow