From 0da6d30fc866141c547bc53bf69e7b4085e1e267 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Tue, 22 Jan 2019 04:49:46 +0700 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=BB=D1=83=D1=87=D1=88=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=80=D0=B0=D1=81=D0=BF=D0=BE=D0=B7=D0=BD=D0=B0=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=B4=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/core/BookConverter/index.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/server/core/BookConverter/index.js b/server/core/BookConverter/index.js index c176d4d4..0dd0b5bb 100644 --- a/server/core/BookConverter/index.js +++ b/server/core/BookConverter/index.js @@ -140,7 +140,17 @@ class BookConverter { }); */ - await parser.parse(iconv.decode(data, chardet.detect(data))); + const charsetAll = chardet.detectAll(data); + + let selected = 'ISO-8859-1'; + for (const charset of charsetAll) { + if (charset.name.indexOf('ISO-8859') < 0) { + selected = charset.name; + break; + } + } + + await parser.parse(iconv.decode(data, selected)); const title = (titleInfo['book-title'] ? titleInfo['book-title'] : ''); let author = '';