私はRSSフィードフェッチャーを書こうとしており、いくつかの文字セットの問題を抱えています。http.getとISO-8859-1でエンコードされたレスポンス
フィードの読み込みと解析は、エンコードに比べて非常に簡単でした。 私はhttp.get
でフィードをロードしています。すべてのデータイベントにチャンクをまとめています。 後で、与えられた文字列でうまく動作するnpm-lib feedparser
で文字列全体を解析しています。
悲しいことに、私はPHPでutf8_encode()
のような機能に慣れていて、node.jsにそれらを忘れてしまっているので、現在私が望んでいないIconvを使用しています。 ?エンコードせずに
は、間違った文字セット用-iconsいくつかのutf8があるのiconvで、文字列が間違って解析されます:/
は現在、私はseperatedlyすべての文字列をコードしています:
//var encoding ≈ ISO-8859-1 etc. (Is the right one, checked with docs etc.)
// Shortend version
var iconv = new Iconv(encoding, 'UTF-8');
parser.on('article', function(article){
var object = {
title : iconv.convert(article.title).toString('UTF-8'),
description : iconv.convert(article.summary).toString('UTF-8')
}
Articles.push(object);
});
は、私が開始すべきデータバッファーでエンコーディングするか、後で完全な文字列でエンコーディングしますか?
ありがとうございました!
PS:エンコーディングは、どのように簡単にNode.jsの中でエンコードを行いモジュールについては、XML
の頭を解析して決定されますか?
は、あなたが働いていないとは何ですか? – loganfsmyth
私はiconvエンコーディングを正しく取得できません – moe
記事オブジェクトは正しくエンコードされず、代わりにガーベッジが含まれていますか?そして、あなたは飼料を見せることができますか? – fent