2

我正在寻求帮助,因为我确实花了几个小时(超过 5 个)在网上寻找答案,但找不到合适的解决方案。

我的项目要求我废弃外部网页的标题,但有时这些页面使用 iso-8859-1 编码。

由于废弃的标题以 utf-8 格式显示在我的页面代码中,因此我得到了 � 而不是 é、à、ê、ô 等字符

所以我必须找到一种方法,有时将标题从 iso-8859-1 转换为 utf-8。你能帮助我吗?

我正在使用 Google Scripts 编写脚本,例如,我用 JavaScript 编写代码以使用提供的 API 来增强 Google 电子表格。

要废弃外部网页,我使用以下代码:

var result = UrlFetchApp.fetch( url );
var wholePage = result.getContentText(); 
var scrap = wholePage.match( /<title>(.*?)<\/title>/ ); 
var title = scrap[1];

如果报废的页面以 utf-8 编码但不适用于此网址(例如),则它可以完美运行:http: //www.lexpress.fr/actualite/medias/cannes-pierre-lescure-et-jerome-clement- pressentis-pour-succeder-a-gilles-jacob_1254608.html

这是我在这个例子中得到的结果:

戛纳:Pierre Lescure et J�r�me Cl�ment pressentis pour succ�der �Gilles Jacob - L'EXPRESS

(是的,我是法国人)。

有人可以帮我吗?我会很感激的。我试图提供尽可能多的信息,因为据说 StackOverflow 上与编码问题相关的许多其他问题都错过了真实的上下文。如果您需要更多,请告诉我,我会尽快回复。

4

1 回答 1

0

你在哪里显示内容更重要。如果要将其写入电子表格,则必须将电子表格的设置更改为正确的语言(法语)。此外,您可以使用高级参数来指定原始内容所在的字符集。例如,

var result = UrlFetchApp.fetch( url , {contentType : 'text/html; charset=utf-8'});
var wholePage = result.getContentText(); 
var scrap = wholePage.match( /<title>(.*?)<\/title>/ ); 
var title = scrap[1];
于 2013-06-06T09:06:15.610 回答