在 NodeJS 中使用区域语言从客户端获取数据



客户端数据示例如下

{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/

它将在控制台上打印:

ಕನ್ನಡ

附言正如我提到的,这只是一种可能的方法,所以可能还有其他方法。

最新更新