2

저는 온라인에서 답을 찾기 위해 정말로 많은 시간 (5 시간 이상)을 보냈기 때문에 도움을 요청하고 있습니다. 적절한 해결책을 찾을 수 없습니다.(javascript/google scripts) 제목이 내 utf-8 웹 사이트에서 올바르게 표시되도록 iso-8859-1로 인코딩 된 페이지의 제목을 얻는 방법은 무엇입니까?

내 프로젝트에서는 외부 웹 페이지의 제목을 스크랩해야하지만, 때때로 이러한 페이지는 iso-8859-1로 코딩됩니다. 스크랩 된 제목으로

이 UTF-8로 내 페이지 코드에 표시됩니다, 나는 그래서 가끔 변환 할 수있는 방법을 찾아야합니다 ... 대신 같은 é, ê, à, ô 같은 문자의

를 얻을 수 iso-8859-1에서 utf-8까지 제목. 나 좀 도와 줄 수있어?

저는 Google Script로 스크립팅하고 있습니다. 제공된 API를 사용하여 Google 스프레드 시트를 향상시키기 위해 JavaScript로 코드를 작성합니다.

은이 코드를 사용하여 외부 웹 페이지를 스크랩 :

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

스크랩 된 페이지가 아니라이 URL을 UTF-8로 코딩 된 경우는 (예를 들어) 완벽하게 작동합니다 : http://www.lexpress.fr/actualite/medias/cannes-pierre-lescure-et-jerome-clement-pressentis-pour-succeder-a-gilles-jacob_1254608.html

칸 :

이 내가이 예에서 얻을 결과 피에르 레스큐 어 등 Jrme Clment pressentis succder 질 야곱 부어 - L' EXPRESS

(예, 저는 프랑스어입니다.)

누군가 나를 도울 수 있습니까? 나는 정말로 감사 할 것이다. StackOverflow에서 인코딩 문제와 관련된 다른 많은 질문이 실제 컨텍스트를 놓치고 있다고 말하기 때문에 가능한 많은 정보를 제공하려고했습니다. 더 필요하면 빨리 대답 해 줄 게 말해줘.

+1

문제는 구글 앱 스크립트 것 같다. 이 기술에 익숙하지 않아 전용 태그가 도움이 될 수 있습니까? –

+0

좋은 아이디어, 방금 태그를 추가했습니다. 감사! – guenam

답변

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]; 
+0

죄송합니다, Srik, 방금 당신의 대답을 발견했습니다; StackOverflow가 제공하는 알림 옵션을 제대로 설정하지 않은 것 같습니다. 그러나 추악한 해결 방법을 만들었고 귀하의 의견을 통해 문제를 해결해 주셔서 감사합니다. 감사합니다. 당신 덕분에, 이제 문자 세트 문제에 대해 더 잘 이해할 수있게되었습니다. – guenam