--- gnus-art.el~ 2007-12-05 01:51:07 +0000 +++ gnus-art.el 2007-12-05 02:55:23 +0000 @@ -2803,7 +2803,34 @@ (string-match "text/html" (car (mm-handle-type handle)))) (let ((tmp-file (mm-make-temp-file ;; Do we need to care for 8.3 filenames? - "mm-" nil ".html"))) + "mm-" nil ".html")) + (charset (mail-content-type-get (mm-handle-type handle) + 'charset))) + (when charset + (with-current-buffer (mm-handle-buffer handle) + (when (eq charset 'gnus-decoded) + (insert (prog2 + (setq charset 'utf-8) + (encode-coding-string (buffer-string) + charset) + (erase-buffer) + (mm-disable-multibyte)))) + (setq charset (format "\ +" + charset)) + (goto-char (point-min)) + (let ((case-fold-search t)) + (cond ((re-search-forward "\ +]+>" + nil t) + (replace-match charset)) + ((re-search-forward "[\t\n\r ]*" nil t) + (insert charset "\n")) + (t + (re-search-forward "\ +]+\\|[\t\n\r ]*\\)>[\t\n\r ]*" + nil t) + (insert "\n" charset "\n\n")))))) (mm-save-part-to-file handle tmp-file) (add-to-list 'gnus-article-browse-html-temp-list tmp-file) (add-hook 'gnus-summary-prepare-exit-hook