[R] Rd files with unknown encoding?
Prof Brian Ripley
ripley at stats.ox.ac.uk
Mon Dec 17 11:08:57 CET 2007
Here's a slightly cleaner version:
showNonASCII <- function(x)
{
ind <- is.na(iconv(x, "latin1", "ASCII"))
xxx <- iconv(x[ind], "latin1", "ASCII", sub="byte")
if(any(ind)) cat(which(ind), ": ", xxx, "\n", sep="")
}
used as
> showNonASCII(readLines("foo.Rd"))
On Sat, 15 Dec 2007, Spencer Graves wrote:
> Dear Prof. Ripley:
> Thanks very much. I did as you suggested, which I'll outline here to
> make it easier for anyone else who might have a similar problem:
> * Read the offending *.Rd file in R using 'readLines'
> * Applied 'iconv' to the character vector, following the last
> example in the help file. This translated all offending characters into a
> multi-character sequence starting with '<'.
> * Used 'regexpr' to find all occurrences of '<'.
> The latter identified other uses of '<' but produced a sufficiently
> short list that I was able to find the problems fairly easily.
> Thanks again.
> Spencer Graves p.s. And in the future, I will refer 'Rd' questions to
> 'R-devel', per your suggestion.
> Prof Brian Ripley wrote:
>> On Wed, 12 Dec 2007, Spencer Graves wrote:
>>
>>
>>> How can I identify the problem generating a warning in R CMD check
>>> for "Rd files with unknown encoding"?
>>>
>>> Google identified an email from John Fox with a reply from Brian
>>> Ripley about this last 12 Jun 2007.
>>>
>>
>> But not on this list:
>>
>> https://stat.ethz.ch/pipermail/r-devel/2007-June/046055.html
>>
>> R-devel would have been more appropriate for this too.
>>
>>
>>> This suggests that I may have accidentally entered some possibly
>>> non-printing character into the offending Rd file. The message tells me
>>> which file, but I don't know which lines in the file. Is there some way
>>> of finding the offending character(s) without laboriously running R CMD
>>> check after deleting different portions of the file until I isolate the
>>> problem?
>>>
>>
>> I did say so in that thread:
>>
>> https://stat.ethz.ch/pipermail/r-devel/2007-June/046061.html
>>
>> You can do much the same in R via iconv("", "C", sub="byte"), provided you
>> can read the file in (it may not be representable in your current locale,
>> but you could run R in a Latin-1 locale, if your OS has one).
>>
>>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list