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

[xyzzy:09188] Re: unicode 文字の文字化け



NANRIです。

openで読み込むときの文字コードは指定できません。

>   (set-buffer-fileio-encoding *encoding-utf8n*)
>   (set-buffer-eol-code *eol-lf*)
なのでこの部分が問題です。

自分ならいったんバッファに読み込んで処理しますが、佐藤さんのコードを生か
すなら一行読んだあとに map-utf-8-to-internal で内部コードへ変換してやる
と良いです。

(defun utf8n-show-lines-starting-with-keyword (keyword filename)
  "Bring lines starting with a keyword from a file into the selected buffer"
  (interactive "skey word: \nffile name: ")
  (let (line-read-in index)
    (with-open-file (in filename :direction :input)
      (while (setq line-read-in (read-line in nil))
        (setq line-read-in (map-utf-8-to-internal line-read-in))
        (if (setq index (string-matchp (regexp-quote keyword) line-read-in))
            (if (zerop index)
                (progn
                  (insert (format nil "~A~%" line-read-in))
                  (forward-line 1))))))
    )
  )

-----
NANRI
southly@xxxxxxxxxxxx
http://raido.sakura.ne.jp/southly/rn/

Index Home