Попытка содержимое нагружения файла, содержащего одну строку со словом: λέξη
Как загрузить нестандартные символы из файла с помощью SBCL Common Lisp?
(with-open-file (s PATH-TO-FILE :direction :input)
(let ((a (read-line s)))
(print a)))
выходы
""
T
Trying:
(with-open-file (s PATH-TO-FILE :direction :input)
(let ((buffer ""))
(do ((character (read-char s nil) (read-char s nil)))
((null character))
(setf buffer (concatenate 'string buffer (format nil "~a" character))))
(format t "~a" buffer)))
выходов
funny characters (nothing like the original contents)
T
Что я хотел бы сделать, это загрузить все строки файла, содержащие такие нестандартные символы. Затем я хочу иметь возможность выводить эти слова на консоль или через виджеты LTK (например, текст на кнопке).
Что происходит, когда вы оцениваете '(setf sb-impl :: * default-external-format *: utf-8)' и повторите попытку? – tsikov
Я изменил кодировку на UTF8 во входном файле, а затем добавил вашу предложенную строку ко второй версии кода и оценил. Вывод: '?????' newline 'T'. Первая версия с добавлением этой дополнительной строки все еще выводит '' '' '' '' '' '' '' ' –
Спасибо за помощь! –