簡體   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