我有一个json格式的cyrillic数据,在API中我看到的数据如下:
stations
0
Map_code 0
NAME_IME "Bjala river - Smoljan"
NAME_CYR "���� ���� - ��. ������"
Alertlevelwebsite 1
CODENUM 1
我想用UTF-8或CP_1251编码显示NAME_CYR "���� ���� - ��. ������"
,但我不知道如何。。?
代码:
app.route('/stations')
.get(function (req, res) {
// omitted
res.setHeader('Access-Control-Allow-Origin', '*', 'Cache-Control', 'private, no-cache, no-store, must-revalidate');
pool.query(`SELECT * FROM sel_alert_level s;`, function (error, result) {
if (error)
return res.status(500).json({ error: "Грешна заявка. Опитай отново !"})
stations = result;
res.json({ stations })
});
});
我试着把res.set({ 'content-type': 'application/json; charset=utf-8' });
放在res.setHeader('Access-Control-Allow-Origin', '*', 'Cache-Control', 'private, no-cache, no-store, must-revalidate');
之前,如下所示:
app.route('/stations')
.get(function (req, res) {
// omitted
res.set({ 'content-type': 'application/json; charset=utf-8' });
res.setHeader('Access-Control-Allow-Origin', '*', 'Cache-Control', 'private, no-cache, no-store, must-revalidate');
pool.query(`SELECT * FROM sel_alert_level s;`, function (error, result) {
if (error)
return res.status(500).json({ error: "Грешна заявка. Опитай отново !"})
stations = result;
res.json({ stations })
});
});
但这对我不起作用。
您需要检查响应中的标头(如果使用浏览器,请使用开发工具(。JSON默认情况下是UTF-8,如果您使用express,它应该很好,但只需仔细检查。
如果不起作用,请使用res.set({ 'content-type': 'application/json; charset=utf-8' });
(再次使用Express(。