Frage

code:

var nerve = require("./nerve");
var sitemap = [
    ["/", function(req, res) {
        res.respond("Русский");
    }]
];
nerve.create(sitemap).listen(8100);

show in Browser:

CAA:89  

Wie sollte es richtig sein?

War es hilfreich?

Lösung

erscheint die Saiten zu interpretieren Sie passieren als binäre Strings, die Ergebnisse in der Ausgabe Sie sehen. Sie können die Buffer-Klasse verwenden Ihre UTF-8-Zeichen in eine binäre Zeichenfolge manuell zu konvertieren. Sie müssen auch die charset in Ihrem Header setzen:

var sitemap = [
  ["/", function (req, res) {
    res.respond({
      headers: {"Content-Type": "text/html; charset=utf-8"},
      content: new Buffer("Русский", "utf8").toString("binary")
    });
  }]
];

Wenn Sie einen anderen Rahmen versuchen wollen, Express einen besseren Job macht Umgang mit UTF-8. Er interpretiert Strings als UTF-8 und setzt die charset standardmäßig korrekt:

var app = require("express").createServer();

app.get("/", function (req, res) {
  res.send("Русский");
});

app.listen(8100);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top