Saya menulis url2src.js untuk mengonversi file html ke file html lain yang semua javascriptnya diproses.
Saya menemukan jika ada beberapa kata UTF-8 (seperti —), hasilnya tidak benar.
Saya menggunakan Windows 8.1 versi Cina. dan jalankan perintah ini di windows cmd:
d:\epub\components>phantomjs --output-encoding=utf8 --script-encoding=utf8 url2src.js activities2.html activities2-processed.html
d:\epub\components>phantomjs --version
1.9.7
konten url2src.js adalah:
var page = require('webpage').create(),
system = require('system'),
t, address, output;
if (system.args.length !== 3) {
console.log('Usage: url2src.js <some URL> <output File path>');
phantom.exit();
}
t = Date.now();
address = system.args[1];
output = system.args[2];
page.open(address, function (status) {
if (status !== 'success') {
console.log('FAIL to load the address : ' + address);
} else {
t = Date.now() - t;
//console.log('Loading time ' + t + ' ms');
var js = page.evaluate(function () {
return document;
});
//console.log(js.all[0].outerHTML);
var fs = require('fs');
try {
fs.write(output, js.all[0].outerHTML, 'w');
} catch(e) {
console.log(e);
}
}
phantom.exit();
});
Info lebih detail ada di lampiran di sini:
https://groups.google.com/forum/#!topic/phantomjs/oqvK8mkk6aY
Bantuan apa pun dihargai.
Saya tahu alasannya sekarang, karena dokumen html input diperlakukan sebagai ISO-8859-1 sebagai default.
Tambahkan meta ke set charset=utf-8 dapat menyelesaikan masalah ini.
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p> The user interface for an activity is provided by a hierarchy of views—objects derived from the <code>View</code> class. </p>
</body>
</html>
Anda benar. Namun, saya tidak dapat mengubah html yang diberikan orang lain kepada saya. Bagaimana caranya?
Saya memiliki beberapa dokumen yang tidak memiliki informasi tajuk (saya mendapatkannya dari aplikasi pihak ketiga)... cara untuk memaksa penyandian akan menyenangkan.
Komentar yang paling membantu
Saya tahu alasannya sekarang, karena dokumen html input diperlakukan sebagai ISO-8859-1 sebagai default.
Tambahkan meta ke set charset=utf-8 dapat menyelesaikan masalah ini.