node.js - stringdecoder - utf8 react native
¿Cómo obtener UTF-8 en Node.js? (3)
¿Cómo obtengo soporte UTF-8 en mi API? Por el momento, una cadena de salida como esta:
name: "John D�m"
En lugar de:
name: "John Döm"
Checkout app.js a continuación:
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/'');
Conecte su generador de respuestas o cree un middleware que haga lo siguiente:
res.header("Content-Type", "application/json; charset=utf-8");
De lo contrario, el navegador muestra el contenido en su codificación favorita.
Si esto no te ayuda, la base de datos está probablemente en la codificación incorrecta.
Edición: Dado que la respuesta tiene casi 5 años, la API ha cambiado. Para las versiones actuales de node.js use:
res.setHeader("Content-Type", "application/json; charset=utf-8");
Mi problema se resolvió con esto:
res.writeHeader(200 , {"Content-Type" : "text/html; charset=utf-8"});
No puedo resolver este problema con la configuración del tipo de contenido. Resolví este problema con la función de codificación.
res.cookie(''someCookie'', someCookie, {
encode: c => c,
});
Para más información: express cookie.
Versión de ExpressJS: 4.16.4