How do I get UTF-8 support on my API?
At the moment, a string outputs like this:
name: "John D�m"
Instead of:
name: "John Döm"
Checkout app.js below:
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/');
Hook into you response generator or create a middleware that does the following:
res.header("Content-Type", "application/json; charset=utf-8");
Otherwise the browser displays the content in his favorite encoding.
If this doesn't help you DB is probably in the wrong encoding.
Edit: Since the answer is nearly 5 years old, the API has changed. For current node.js versions use:
res.setHeader("Content-Type", "application/json; charset=utf-8");
My problem solved with this:
res.writeHeader(200 , {"Content-Type" : "text/html; charset=utf-8"});