如何在Node.js的获得UTF-8?

问题描述 投票:23回答:3

我如何得到我的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/');
node.js encoding utf-8 character-encoding
3个回答
37
投票

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

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

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

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

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

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

1
投票

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

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

欲了解更多信息:express cookie

ExpressJS版本:4.16.4


-4
投票

我的问题解决了这一点:

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

© www.soinside.com 2019 - 2024. All rights reserved.