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

Re: coding-system 強制指定



>> On Sun, 16 Feb 2003 12:12:14 +0900
>> minakaji@namazu.org (NAKAJIMA Mikio) said as follows:

>このように web page 側に問題がある場合でも読めるように、domain 毎に強
>制的に coding-system を fix してしまう仕組が欲しいので、quick hack で
>作ってみたのですが、どうでしょうか?

この指摘を見て,某企業のサーバーが content-type では iso-2022-jp を返
してくるのに,実際のコンテンツが shift_jis なので,現行の emacs-w3m で
は常に文字化けしてしまうという問題を思い出しました.この問題は,末尾に
添付したパッチのように,content-type で chraset が指定されている場合で
も常に coding system の自動検出を行うようにすれば回避できるだろうと思
うのですが,ちょっと影響範囲が広そうなので考え込んでいます.

要は,裏側で動くべきはずの w3m-decode-buffer() が 
w3m-arrived-content-charset() を呼び出している,というのが気に入らない
ということです.どうやったらきれいにできるのかなあ,と考え込んでいます.

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )

--- w3m.el	16 Feb 2003 00:51:51 -0000	1.782
+++ w3m.el	17 Feb 2003 02:02:18 -0000
@@ -3078,12 +3078,14 @@
     (decode-coding-region
      (point-min) (point-max)
      (setq w3m-current-coding-system
-	   (or cs
-	       (w3m-detect-coding-region
-		(point-min) (point-max)
-		(if (w3m-url-local-p url)
-		    nil
-		  w3m-coding-system-priority-list)))))
+	   (if (w3m-arrived-content-charset url)
+	       (w3m-charset-to-coding-system (w3m-arrived-content-charset url))
+	     (w3m-detect-coding-region
+	      (point-min) (point-max)
+	      (cons cs
+		    (if (w3m-url-local-p url)
+			nil
+		      w3m-coding-system-priority-list))))))
     (set-buffer-multibyte t)))
 
 (defun w3m-decode-get-refresh (url)