[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

[No Gnus] mm-inline-text-html-render-with-w3m



User-Agent な環境で,nnshimbun+atmarkit:fsecurity の「つぎはぎシステム
を防ぐセキュリティアーキテクチャ」という表題の記事が文字化けして表示さ
れました.原因を調べてみたところ,この記事では

  Content-Type: text/html; charset=ISO-2022-JP
  Content-ID: <shimbun.0.fsecurity/special/48arc/arc01%fsecurity@atmarkit.co.jp>

  <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=SHIFT_JIS">

と content-type へッダと META タグが矛盾しており,更に,
mm-inline-text-html-render-with-w3m() が META タグを調べているからだと
分かりました.

このような矛盾した記事を生成する shimbun バックエンドも修正の必要があ
りますが,同時に mm-inline-text-html-render-with-w3m() が META タグを
調べているのもおかしいような気がします.なぜ,META タグを調べているの
でしょうか?

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )
--- mm-view.el	25 Apr 2004 18:01:33 -0000	7.11
+++ mm-view.el	6 May 2004 13:08:17 -0000
@@ -224,19 +224,12 @@
 	(b (point))
 	(charset (mail-content-type-get (mm-handle-type handle) 'charset)))
     (save-excursion
-      (insert text)
+      (insert (if charset (mm-decode-string text charset) text))
       (save-restriction
 	(narrow-to-region b (point))
-	(goto-char (point-min))
-	(when (re-search-forward w3m-meta-content-type-charset-regexp nil t)
-	  (setq charset (or (w3m-charset-to-coding-system (match-string 2))
-			    charset)))
-	(when charset
-	  (delete-region (point-min) (point-max))
-	  (insert (mm-decode-string text charset)))
 	(let ((w3m-safe-url-regexp mm-w3m-safe-url-regexp)
 	      w3m-force-redisplay)
-	  (w3m-region (point-min) (point-max)))
+	  (w3m-region (point-min) (point-max) nil charset))
 	(when (and mm-inline-text-html-with-w3m-keymap
 		   (boundp 'w3m-minor-mode-map)
 		   w3m-minor-mode-map)