سؤال

الشفرة:

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

عرض في المتصفح:

CAA:89  

كيف ينبغي أن يكون صحيحا؟

هل كانت مفيدة؟

المحلول

عصب يبدو لتفسير الأوتار التي تمر بها كسلاسل ثنائية ، مما يؤدي إلى الإخراج الذي تراه. يمكنك استخدام فئة المخزن المؤقت لتحويل chars UTF-8 إلى سلسلة ثنائية يدويًا. تحتاج أيضًا إلى ضبط Charset في رؤوسك:

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 وتعيين Charset بشكل صحيح افتراضيًا:

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

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

app.listen(8100);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top