From 0f7334147d23ad2792523f59a968fb44c820fa35 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 23 Oct 2015 12:23:23 +0300 Subject: [PATCH] Decode the HTML source when displaying it in EWW * lisp/net/eww.el (eww-view-source): Decode the HTML source according to its headers. --- lisp/net/eww.el | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lisp/net/eww.el b/lisp/net/eww.el index bda4e0cfec2..6a315496fe0 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -564,6 +564,15 @@ Currently this means either text/html or application/xhtml+xml." (delete-region (point-min) (point-max)) (insert (or source "no source")) (goto-char (point-min)) + ;; Decode the source and set the buffer's encoding according + ;; to what the HTML source specifies in its 'charset' header, + ;; if any. + (let ((cs (find-auto-coding "" (point-max)))) + (when (consp cs) + (setq cs (car cs)) + (when (coding-system-p cs) + (decode-coding-region (point-min) (point-max) cs) + (setq buffer-file-coding-system last-coding-system-used)))) (when (fboundp 'html-mode) (html-mode)))) (view-buffer buf))) -- 2.39.5