diff --git a/Model/Entities/Entities.swift b/Model/Entities/Entities.swift index 1dc04695..f996504b 100644 --- a/Model/Entities/Entities.swift +++ b/Model/Entities/Entities.swift @@ -146,6 +146,14 @@ struct URLContent { let start: UInt let end: UInt let size: UInt + + var httpContentType: String { + if mime == "text/plain" { + return "text/plain;charset=UTf-8" + } else { + return mime + } + } } final class ZimFile: NSManagedObject, Identifiable { diff --git a/Model/Utilities/WebKitHandler.swift b/Model/Utilities/WebKitHandler.swift index b28c57e2..a431c8b6 100644 --- a/Model/Utilities/WebKitHandler.swift +++ b/Model/Utilities/WebKitHandler.swift @@ -76,7 +76,7 @@ final class KiwixURLSchemeHandler: NSObject, WKURLSchemeHandler { } private func sendHTTP200Response(_ urlSchemeTask: WKURLSchemeTask, url: URL, content: URLContent) { - let headers = ["Content-Type": content.mime, "Content-Length": "\(content.size)"] + let headers = ["Content-Type": content.httpContentType, "Content-Length": "\(content.size)"] if let response = HTTPURLResponse(url: url, statusCode: 200, httpVersion: "HTTP/1.1", headerFields: headers) { guard isStartedFor(urlSchemeTask.hash) else { return } urlSchemeTask.didReceive(response)