客户端数据示例如下
{name:'ABC',age:24,language:'ಕನ್ನಡ'}
我需要将语言值发送到其他服务 但在节点控制台中无法按上述方式打印 它不是ಕನ್ನಡ,而是像{name:'ABC',age:24,language:'����ͷ�'}
我的快速设置,例如
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json({
limit: '2mb'
}));
app.use(bodyParser.urlencoded({
limit: '900kb',
extended: true
}));
app.use((req, res, next) => {
req.header("Content-Type", "application/json;charset=UTF-8");
next();
});
这是印度卡纳达语。我尝试使用语言环境模块,但没有运气。 如何设置接受语言请帮我解决
使用 req.headers["accept-language"] 获取用户在浏览器中设置的语言。
为了获得更轻松的支持,请查看区域设置模块。
我不确定这是否会对您有所帮助,但我只是尝试了一下:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json({
limit: '2mb'
}));
app.use(bodyParser.urlencoded({
limit: '900kb',
extended: true
}));
app.use((req, res, next) => {
console.log(decodeURIComponent(req.body.data));
req.header("Content-Type", "application/json;charset=UTF-8");
next();
});
app.listen(3000);
在发布之前:
encodeURIComponent('ಕನ್ನಡ'); // returns %E0%B2%95%E0%B2%A8%E0%B3%8D%E0%B2%A8%E0%B2%A1
然后尝试:
curl -d "data=%E0%B2%95%E0%B2%A8%E0%B3%8D%E0%B2%A8%E0%B2%A1" http://localhost:3000/
它将在控制台上打印:
ಕನ್ನಡ
附言正如我提到的,这只是一种可能的方法,所以可能还有其他方法。