我在phantomjs中运行了一个js文件
var settings = {mode: 'w', charset: 'UTF-8'};
page.open(path, settings, function (status) {
if (status !== "success") {
console.log("Unable to access network");
} else {
page.evaluate(function() {
window.console.log = function(msg) { alert(msg) };
var $p = document.querySelectorAll('.my-class')[0];
var html = $p.innerHTML;
return html;
});
}
});
数据看起来像
<div class="my-class">Power, speed, style — James Bond’s 10 greatest drives</div>
但是phantomJS返回的html是
Power, speed, style ΓÇö James BondΓÇÖs 10 greatest drives
我的页面有
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
在头部。
答案 0 :(得分:0)
尝试encoding
参数。如果UTF8
无法正常工作,请尝试UTF-8
。
var settings = {mode: 'w', charset: 'UTF-8', encoding: 'UTF8'};
答案 1 :(得分:0)
&
是phantomJS中的运算符吗?
排队:
style — James Bond’s 10 greatest
style ΓÇö James BondΓÇÖs 10 greatest
我建议&#34; emdash&#34; (—
)和引用(’
)是恶棍,而不是
。 nbsp =不间断空格,可以作为空格查看,但可以防止换行。
结论:幻像中没有正确识别UTF-8字符。
ΓÇÖ
是十六进制CE93C387C396
(假设utf8编码),但该十六进制不会映射到任何可识别的内容。 (我追求这条路径,因为一个常见的问题是编码被误解,导致错误。)另外,由于ΓÇÖ
是希腊语和拉丁语的混合,因此无法在单个字符集中正确解释UTF-8。
&#34;数据&#34;来自?也许在 phantomJS之前发生了。
答案 2 :(得分:0)
字符集:“ UTF-8”设置很好,但是您需要像这样在HTML代码中设置properties.sql.store.url
标签:
<meta/>