LINUX.ORG.RU

История изменений

Исправление Zubok, (текущая версия) :

Как получить кириллицу в правильной кодировке?

Попробуй для начала вставить (set-buffer-multibyte t). Вот так:

(defun org-link-describe (url &optional descr)
  (let ((buffer (url-retrieve-synchronously url))
        (title nil))
    (save-excursion
      (set-buffer buffer)
      (set-buffer-multibyte t)
      (goto-char (point-min))
      (search-forward-regexp "<title>\\([^<]+?\\)</title>")
      (setq title (match-string 1 ) )
      (kill-buffer (current-buffer)))
    title))

Но я ожидаю подводный камень: сайты, которые в кодировке koi8-r, например, с заголовком подведут. utf-8 работать должна. Даже китайские сайты (тот же https://baidu.com) должны быть ок. Тут надо более умно поступить, строчки вытаскивать надо с учетом кодировки, в которой сайт отдает страничку. Или же вытянуть сайт, выяснить его кодировку и полученную строчку из title перекодировать. Это сейчас надо в документацию залезть.

Исправление Zubok, :

Как получить кириллицу в правильной кодировке?

Попробуй для начала вставить (set-buffer-multibyte t). Вот так:

(defun org-link-describe (url &optional descr)
  (let ((buffer (url-retrieve-synchronously url))
        (title nil))
    (save-excursion
      (set-buffer buffer)
      (set-buffer-multibyte t)
      (goto-char (point-min))
      (search-forward-regexp "<title>\\([^<]+?\\)</title>")
      (setq title (match-string 1 ) )
      (kill-buffer (current-buffer)))
    title))

Но я ожидаю подводный камень: сайты, которые в кодировке koi8-r, например, с заголовком подведут. utf-8 работать должна. Даже китайские сайты (тот же https://baidu.com) должны быть ок. Тут надо более умно поступить, трочки вытаскивать надо с учетом кодировки, в которой сайт отдает страничку. Или же вытянуть сайт, выяснить его кодировку и полученную строчку из title перекодировать. Это сейчас надо в документацию залезть.

Исходная версия Zubok, :

Как получить кириллицу в правильной кодировке?

Попробуй для начала вставить (set-buffer-multibyte t). Вот так:

(defun org-link-describe (url &optional descr)
  (let ((buffer (url-retrieve-synchronously url))
        (title nil))
    (save-excursion
      (set-buffer buffer)
      (set-buffer-multibyte t)
      (goto-char (point-min))
      (search-forward-regexp "<title>\\([^<]+?\\)</title>")
      (setq title (match-string 1 ) )
      (kill-buffer (current-buffer)))
    title))

Но я ожидаю подводный камень: сайты, которые в кодировке koi8-r, например, с заголовком подведут. utf-8 работать должны. Даже китайские сайты (тот же https://baidu.com должен быть ок). Тут надо более умно поступить, трочки вытаскивать надо с учетом кодировки, в которой сайт отдает страничку. Или же вытянуть сайт, выяснить его кодировку и полученную строчку из title перекодировать. Это сейчас надо в документацию залезть.