2013-08-06 6 views
14

Как правильно указать кодировку для rd-файла? Я пытаюсь добавить следующий файл справки документирующий фиктивную функцию в мой пакет:Rd-файлы с различной кодировкой

\name{dummy} 
\encoding{ISO-8859-2} 
\alias{dummy} 
\title{Příšerně žluťoučký kůň úpěl ďábelské ódy.} 
\usage{ 
    dummy(x) 
} 
\arguments{ 
    \item{x}{Příšerně žluťoučký kůň úpěl ďábelské 
    ódy.Příšerně žluťoučký kůň úpěl ďábelské ódy.} 
} 
\description{ 
    Příšerně žluťoučký kůň úpěl ďábelské ódy.Příšerně 
    žluťoučký kůň úpěl ďábelské ódy. 
} 
\examples{ 
dummy(x="Příšerně žluťoučký kůň úpěl ďábelské ódy.Příšerně žluťoučký kůň úpěl ďábelské ódy.") 
} 

Однако, когда я пытаюсь установить мой пакет (используя install из devtools) я получаю:

Warning messages: 
1: In fetch(key) : internal error -3 in R_decompress1 
2: In strsplit(msg, "\n") : input string 1 is invalid in this locale 

When Я стараюсь help(dummy) Я получаю:

Error in fetch(key) : lazy-load database '�' is corrupt 

Любой совет?

+0

Возможно, вы очистите среду, используя 'rm (ls = list())' и 'source()' и повторите попытку?!? – maximus

+1

Взгляните сюда: http://cran.r-project.org/doc/manuals/R-exts.html#The-DESCRIPTION-file. Вы должны указывать кодировку в файле DESCRIPTION. – Thomas

+13

Вам потребуется перезапустить R между вызовами 'install'. – hadley

ответ

2

Я подозреваю, что эта кодировка не может быть хорошо обработана R. Если скопировать вставить функцию в поддельной упаковке, удалить упоминание в кодировку в файле Rd и сохранить его кодирование UTF-8 и добавить

Encoding: UTF-8 

К файлу DESCRIPTION он отлично работает (под Linux, с UTF-8 локальным).

Смежные вопросы