繁体   English   中英

如何使用ExpressJS将JSON发送为UTF-8?

[英]How can I send JSON with ExpressJS as UTF-8?

我一直在努力开发一个新的Web应用程序。 在以前的情况下,我不记得曾经遇到过此问题。 我正在用非常简单的代码进行测试。

var jsonToSend = {hello: "woørld"};
app.get('/someUrl', function(req, res) {
  res.setHeader('Content-Type', 'application/json');
  res.send(jsonToSend);
}

输出为: {"hello":"Woørld"} ,其Content-Type:application/json; charset=utf-8 网络标签中的Content-Type:application/json; charset=utf-8 我还尝试了JSON.stringify各种尝试,并将charset添加到setHeader ,尽管它似乎在network选项卡中正确。 如何确保服务器中的数据正确编码?

我使用WebStorm并检查文件编码为UTF-8

尝试使用res.set({ 'content-type': 'application/json; charset=utf-8' });

var jsonToSend = {"\"hello"\": "\"woørld"\"};
app.get('/someUrl', function(req, res) {
  res.setHeader('Content-Type', 'application/json');

  res.set({ 'content-type': 'application/json; charset=utf-8' });

  res.send(jsonToSend);
}

我意识到问题必须出在我的IDE上。 因此,此答案将针对使用WebStorm的您:

我以前在Windows计算机上启动了一个项目,该项目将源文件转换为Windows-1252编码而不是utf-8。 确保执行Preferences > File Encoding ,并将所有编码设置为UTF-8并转换旧文件。 文件编码也在设置视图中标记。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM