From 06300e30b45c6ac9e04bd4ea3c1a5bea8e4264da Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Thu, 2 Mar 2023 14:33:01 +0700 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BA=D0=BE=D1=81=D1=82=D1=8B=D0=BB=D1=8C=20-=20?= =?UTF-8?q?=D0=BD=D0=B5=D0=B2=D0=B5=D1=80=D0=BD=D0=B0=D1=8F=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=B4=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=BE=D1=82=20kor?= =?UTF-8?q?eader=20=D0=BF=D1=80=D0=B8=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=B5=20=D0=B2=20opds?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/core/opds/SearchPage.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/server/core/opds/SearchPage.js b/server/core/opds/SearchPage.js index 58ae1ba..bbdf768 100644 --- a/server/core/opds/SearchPage.js +++ b/server/core/opds/SearchPage.js @@ -1,5 +1,6 @@ const BasePage = require('./BasePage'); const utils = require('../utils'); +const iconv = require('iconv-lite'); class SearchPage extends BasePage { constructor(config) { @@ -28,7 +29,14 @@ class SearchPage extends BasePage { const limit = 100; const offset = (page - 1)*limit; - const queryRes = await this.webWorker.search(from, {[from]: query.term, genre: query.genre, del: '0', offset, limit}); + + const searchQuery = {[from]: query.term, genre: query.genre, del: '0', offset, limit}; + let queryRes = await this.webWorker.search(from, searchQuery); + + if (queryRes.totalFound === 0) { // не нашли ничего, проверим, может term в кодировке ISO-8859-1 (баг koreader) + searchQuery[from] = iconv.encode(query.term, 'ISO-8859-1').toString(); + queryRes = await this.webWorker.search(from, searchQuery); + } const found = queryRes.found;