2

オンラインで回答を探すのに本当に何時間も (5 時間以上) 費やしましたが、適切な解決策が見つからないため、助けを求めています。

私のプロジェクトでは、外部 Web ページのタイトルを破棄する必要がありますが、これらのページは iso-8859-1 でコーディングされている場合があります。

破棄されたタイトルが utf-8 のページ コードに表示されるため、é、à、ê、ô などの文字の代わりに � が表示されます ...

そのため、タイトルを iso-8859-1 から utf-8 に変換する方法を見つけなければなりません。手伝って頂けますか?

私は Google Scripts でスクリプトを作成しています。たとえば、JavaScript でコードを記述して、提供された API を使用して Google スプレッドシートを強化しています。

外部 Web ページを破棄するには、次のコードを使用します。

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

スクラップされたページが utf-8 でコーディングされているが、この URL ではコーディングされていない場合は完全に機能します (例として): http://www.lexpress.fr/actualite/medias/cannes-pierre-lescure-et-jerome-clement- pressentis-pour-succeder-a-gilles-jacob_1254608.html

これは私がこの例で得た結果です:

カンヌ: ピエール・レスキュールとジュリーム・クレメント・プレッセンティス・プル・サッカダー - ジル・ジャコブ - 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 に答える