ネイティブ 'http'モジュールを使用するHTTPリクエストの応答本体は、実際の値ではなくユニコード文字の疑問符文字を表示します。ここでは、実行しているコードの基本的な断片です。Node.js HTTP応答本体のユニコード問題
var http = require('http');
var google = http.createClient(80, 'www.google.it');
var request = google.request('GET', '/',
{
'host': 'www.google.it',
}
);
request.end();
request.on('response', function (response) {
response.setEncoding('utf8');
response.on('data', function (chunk) {
console.log(chunk);
});
});
受けて「Pubblicit」で始まる特定の単語があります。その最後の手紙は私に疑問符として示す奇妙な文字です。単語はPubblicitàでなければなりません。代わりにPubblicitと表示されますか?。
私も.toString()
を使用してデータを出力しようとしている:
console.log(chunk.toString());
または
console.log(chunk.toString('utf8'));
しかし、私は同じ結果を取得しています。
お使いのOSは? –
'chunk.charCodeAt(chunk.length - 1)'を調べてみてください。それが '224'('à')の場合は、コンソール/ロケールに問題があります。 – katspaugh
@PabloFernandez、Mac OS X Snow Leopardを使って –