Текст Cheerio () возвращает � (U + FFFD) для некоторых символов - PullRequest
0 голосов
/ 20 октября 2018

Я создаю API для очистки веб-сайта, и иногда есть специальные символы, часто в именах, например."Jesús M.Vargas".

Мой API загружает содержимое веб-сайта с использованием библиотеки request и передает тело страницы в cheerio следующим образом: const body = cheerio.load(page);

Затем я пытаюсь найти текст настраница, я знаю, что это всегда первый <b>: var copyright = body('b').eq(0).text().trim();

Затем мой код добавляет все (например, заголовок, авторское право и т. д.) к объекту ({}), используя фрагменты кода, такие как data["copyright"] = copyright;

Последнее, что нужно вернуть пользователю как объект JSON:

app.get("/api/", (req, res) => {
  res.setHeader('Content-Type', 'application/json');
  // query parameters
  const date = req.query.date;
  .
  . // get the webpage, find the data, add everything to an object
  .
  // get the data from `data` object and return it as JSON
  var output = JSON.stringify(data);
  res.send(output);
}

Когда API возвращает текст, как в примере выше, "Jes aboves M.Vargas" имеет видвидно в файле JSON.Есть ли способ исправить этих персонажей?Для структурирования объекта я использую ванильный JavaScript, мой веб-фреймворк Express

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...