Comment obtenir le support UTF-8 sur mon API? Pour le moment, une chaîne sort comme ceci:
name: "John D�m"
Au lieu de:
name: "John Döm"
Commander app.js ci-dessous:
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/');
Connectez-vous à votre générateur de réponses ou créez un middleware qui fait ce qui suit:
res.header("Content-Type", "application/json; charset=utf-8");
Sinon, le navigateur affiche le contenu dans son encodage préféré.
Si cela ne vous aide pas, DB est probablement dans le mauvais encodage.
Edit: Puisque la réponse a presque 5 ans, l'API a changé. Pour les versions actuelles de node.js, utilisez:
res.setHeader("Content-Type", "application/json; charset=utf-8");
Je ne peux pas résoudre ce problème en définissant le type de contenu. J'ai résolu ce problème avec la fonction d'encodage.
res.cookie('someCookie', someCookie, {
encode: c => c,
});
Pour plus d'informations: cookie express
Version ExpressJS: 4.16.4