[xyzzy:09186] unicode 文字の文字化け
- Subject: [xyzzy:09186] unicode 文字の文字化け
- From: SATOW Osam <nbh01411@xxxxxxxxx>
- X-mailer: Datula version 1.52.01 for Windows
今日は。[佐藤 (ゑびすや) 修] と云うものです。
次のようなことしたいと思っています。
1. 所与の unicode (utf8n) のテキストファイル <file> がある。曖昧さを排除するため、改行コー
ドは lf とします。
2. 所与の unicode (utf8n) 文字列 <string> がある。
3. <file> に含まれる行のうち行頭が <string> に一致する行を selected buffer に表示させたい。
そこで、つぎのような関数を書きました。
(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)
(set-buffer-fileio-encoding *encoding-utf8n*)
(set-buffer-eol-code *eol-lf*)
(with-open-file (in filename :direction :input)
(while (setq line-read-in (read-line in nil))
(if (setq index (string-matchp keyword line-read-in))
(if (zerop index)
(progn
(with-output-to-selected-buffer (format t "~A~%" line-read-in))
(forward-line 1))))))
)
)
しかし、これだと出力が文字化けしてしまいます。どこで間違っているのか、皆さんのお知恵を拝借
できれば幸甚です。
--
SATOW Osam (佐藤 修)