[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Detect coding system with priority (was:
文字化け
)
>> On Wed, 03 Oct 2001 02:19:21 +0900
>> "ari" == ari@mbf.sphere.ne.jp (ARISAWA Akihiro) said as follows:
土> w3m-detect-coding-region() は、対象となる URL が file:///... の場
土> 合には通常の優先順位リストを使って文字コードを判定し、それ以外の場
土> 合には w3m 専用の優先順位リストを使って判定する、というように対象
土> となるデータの所在によって優先順位リストを使い分けるべきだ、と思い
土> 始めました。
ari> ということで、w3m-coding-system-priority-list というユーザ変数を
ari> 追加し、それに従うようにしました。ローカルのファイルの場合は使わ
ari> ないはずです。
素晴らしいです、有難うございます。適当なページで動作確認しました。
;; 自分のページだと .htaccess が設定されているので、検証できない…。
ari> その際、w3m-detect-coding-region は detect-coding-with-priority
ari> に合わせて第3引数は priority-list にしました。また、第2候補以降を
ari> 使う場面は思い当たらないので、常に highest の coding-system を返
ari> すようにしました。
えっと、この実装だと、少し脆弱なのではないでしょうか。
こんな設定をする人が悪いのかもしれませんが、
(with-temp-buffer
(set-buffer-multibyte nil)
(insert-file-contents-as-binary w3m-bookmark-file)
(w3m-detect-coding-region (point-min) (point-max)
'(shift_jis euc-japan euc-korea)))
ということをすると、"Invalid or duplicated element in argument" と怒ら
れてしまいます。なお、
(with-temp-buffer
(set-buffer-multibyte nil)
(insert-file-contents-as-binary w3m-bookmark-file)
(w3m-detect-coding-region (point-min) (point-max)
'(shift_jis iso-2022-cn iso-2022-jp)))
は大丈夫なのですね…。何が何やら、私にはもうまったく理解できません。
;; テストは全て Emacs-21.0.106 で行っています。
--
土屋 雅稔 ( TSUCHIYA Masatoshi )