Set encoding of error pages to UTF-8

This commit is contained in:
Veloman Yunkan 2024-08-19 16:48:33 +04:00
parent 3875a97df2
commit 9d6705f580

View File

@ -178,6 +178,21 @@ UrlSchemeHandler::handleSearchRequest(QWebEngineUrlRequestJob* request)
request->reply("text/html", buffer);
}
namespace
{
QString completeHtml(const QString& htmlBodyContent)
{
const QString htmlHead = R"(<head><meta charset="utf-8"></head>)";
const QString fullHtml = "<!DOCTYPE html><html>"
+ htmlHead
+ "<body>" + htmlBodyContent + "</body>"
+ "</html>";
return fullHtml;
}
} // unnamed namespace
void
UrlSchemeHandler::replyZimNotFoundPage(QWebEngineUrlRequestJob *request,
const QString &zimId)
@ -211,7 +226,7 @@ UrlSchemeHandler::replyZimNotFoundPage(QWebEngineUrlRequestJob *request,
"</div></section>";
buffer->open(QIODevice::WriteOnly);
buffer->write(contentHtml.toStdString().c_str());
buffer->write(completeHtml(contentHtml).toStdString().c_str());
buffer->close();
connect(request, SIGNAL(destroyed()), buffer, SLOT(deleteLater()));
@ -238,7 +253,7 @@ UrlSchemeHandler::replyBadZimFilePage(QWebEngineUrlRequestJob *request,
"</div></section>";
buffer->open(QIODevice::WriteOnly);
buffer->write(contentHtml.toStdString().c_str());
buffer->write(completeHtml(contentHtml).toStdString().c_str());
buffer->close();
connect(request, SIGNAL(destroyed()), buffer, SLOT(deleteLater()));