Skip to content

Commit a4e220d

Browse files
committed
👽️ (http) Fix encoding due to chardet upgrade
1 parent 718eb4e commit a4e220d

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

memorious/logic/http.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,14 @@ def encoding(self) -> str | None:
439439
raw = self.raw
440440
if raw:
441441
self._encoding = guess_file_encoding(io.BytesIO(raw))
442+
# Charset detectors misidentify short ASCII/UTF-8 text as
443+
# cp1252 or latin-1; prefer utf-8 when the content is valid
444+
if self._encoding and self._encoding.lower() != "utf-8":
445+
try:
446+
raw.decode("utf-8")
447+
self._encoding = "utf-8"
448+
except UnicodeDecodeError:
449+
pass
442450
return self._encoding
443451

444452
@encoding.setter

0 commit comments

Comments
 (0)