如何在Node.js的获得UTF-8?(How to get UTF-8 in Node.js?)

2019-09-01 07:25发布

我如何得到我的API支持UTF-8? 目前,一个字符串输出是这样的:

name: "John D�m"

代替:

name: "John Döm"

结帐下面app.js:

var express = require('express'),
    driver = require('./driver');

var app = express();

app.configure(function () {
    app.use(express.logger('dev'));
    app.use(express.bodyParser());
});

app.get('/drivers', driver.findAll);

app.listen(3000);
console.log('Up: http://127.0.0.1:3000/');

Answer 1:

挂接到您回应发生器或创建一个中间件执行以下操作:

res.header("Content-Type", "application/json; charset=utf-8");

否则,浏览器显示在他最喜欢的编码内容。

如果这并不能帮助你DB可能是在错误的编码。

编辑:既然答案是近5岁,API已经改变。 对于目前的Node.js版本使用:

res.setHeader("Content-Type", "application/json; charset=utf-8");


Answer 2:

我解决不了这个问题,设置的内容类型。 我解决了这个问题,编码功能。

res.cookie('someCookie', someCookie, {
  encode: c => c,
});

欲了解更多信息: 快递饼干

ExpressJS版本:4.16.4



Answer 3:

我的问题解决了这一点:

res.writeHeader(200 , {"Content-Type" : "text/html; charset=utf-8"});



文章来源: How to get UTF-8 in Node.js?