我正在尝试从使用SHIFT_JIS编码的网站中检索某些文本。 我下面的代码正确显示了使用utf8的页面的文本,但正如下面代码的输出所示,编码不同时会出现问题。 如果有人可以指出一个工作,我将非常感激
返回的输出看起来像; “¥¨¥ì¥¯¥È¥í¥Ë¥¯¥¹”
但是应该看起来像; “第28回いきいき大田写真コンクール作品募集”
/*=================================================*/
var casper = require("casper").create({
verbose: true,
logLevel: "debug"
});
function getMultiTextList(cssSelector) {
var query = document.querySelectorAll(cssSelector);
return Array.prototype.map.call(query, function (element) {
return element.innerText;
});
}
var testurl = "https://www.city.ota.tokyo.jp/";
var testcss = "#mainback > div.main.clearfix > div.main-c > div.oshirese.clearfix > ul > li:nth-child(1) > span:nth-child(2) > a"
casper.start();
casper.thenOpen(testurl, function() {
this.save()
titleList = this.evaluate(getMultiTextList,testcss);
for (var i = 0; i < titleList.length; i++)
{
this.echo(titleList[i])
}
});
casper.run(function() {
this.exit();
});
答案 0 :(得分:2)
尝试使用输出编码命令行参数运行脚本:
casperjs --output-encoding=cp866 [params] [filename]