Javascript 为什么HTML网站的内容是ISO-8859-1格式而不是UTF-8格式?
我正在Meteor中创建一个web应用程序,从特定的internet页面中获取数据 问题很简单,当我提取网页内容时会发生什么。因此,我有内容HTML,但在ISO-8859-1格式,而不是在UTF-8作为这个网页的定义。如下面的代码所示Javascript 为什么HTML网站的内容是ISO-8859-1格式而不是UTF-8格式?,javascript,html,meteor,utf-8,character-encoding,Javascript,Html,Meteor,Utf 8,Character Encoding,我正在Meteor中创建一个web应用程序,从特定的internet页面中获取数据 问题很简单,当我提取网页内容时会发生什么。因此,我有内容HTML,但在ISO-8859-1格式,而不是在UTF-8作为这个网页的定义。如下面的代码所示 <!doctype html> <html> <head> <title>Judith Klavans - Citas de Google Académico</title>
<!doctype html>
<html>
<head>
<title>Judith Klavans - Citas de Google Académico</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta name="referrer" content="origin-when-cross-origin">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=2">
<style>@viewport{width:device-width;min-zoom:1;max-zoom:2;}</style>
<meta name="format-detection" content="telephone=no">
<link rel="shortcut icon" href="/favicon-png.ico">
<link rel="canonical" href="http://scholar.google.com/citations?user=AxoaSbwAAAAJ&hl=en">
正如您在代码中看到的,显示了终端中请求的页面内容,但现在它是ISO-8859-1格式,而不是第一个代码中看到的UTF-8格式。问题是特殊字符看不到HTML的内容,而是被符号替换�.
例如:谷歌Académico(utf-8)->谷歌Acad�mico(ISO-8859-1)
我希望所请求网页的HTML内容能够以原始格式
utf-8
获得,从而能够更正带有符号的特殊字符�. 您在请求时使用了什么?当UTF-8显示为ISO-8859-1时,您应该有两个“奇怪”字符,而不是只有一个�. 所以问题是你确定你的来源真的是UTF-8吗?我建议您使用notepad++验证您是否在Wondows上。
Router.route('/scraper/:id_investigador', function() {
this.response.setHeader('Access-Control-Allow-Origin', '*');
this.response.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
this.response.setHeader('Access-Control-Allow-Headers', 'Content-Type, X-Requested-With, x-request-metadata');
this.response.setHeader("Content-Type", "text/html; charset=utf-8");
this.response.setHeader('Access-Control-Allow-Credentials', true);
var url = 'https://scholar.google.cl/citations?user=' + id_investigador;
request(url, async function(error, response, html) {
var $ = cheerio.load(html);
console.log(html);
})
}, { where: "server" });