Rhtml: Ostrzeżenie: błąd konwersji w „<var>” w „mbcsToSbcs”: kropka zastąpiona <var>

Środowisko:

R v 2.15.1 na Mac OS 10.8.2, platforma x86_64-apple-darwin9.8.0 / x86_64 (64-bit), z RStudio IDE ustawionym na używanie UTF-8 jako domyślnego kodowania. System operacyjny korzysta również z UTF-8.

> Sys.getlocale(category = "LC_ALL")
[1] "sk_SK.UTF-8/sk_SK.UTF-8/sk_SK.UTF-8/C/sk_SK.UTF-8/sk_SK.UTF-8"

Cel:

Wygeneruj plik HTML z pliku R HTML (.Rhtml), zawierający wykres z rozszerzonymi znakami łacińskimi, takimi jak š lub č.

Problem:

Kiedy klikamKnit HTML, wyjście wygląda tak:

plot(1:2, main = "šč")
## Warning: conversion failure on 'šč' in 'mbcsToSbcs': dot substituted for
## 
## Warning: conversion failure on 'šč' in 'mbcsToSbcs': dot substituted for
## 
## Warning: conversion failure on 'šč' in 'mbcsToSbcs': dot substituted for
## 
## Warning: conversion failure on 'šč' in 'mbcsToSbcs': dot substituted for
## <8d>
**Plot with correct characters despite the warnings.**

Pytanie:

Co powoduje problem i jak go rozwiązać? Jak mogę przynajmniej pozbyć się ostrzeżeń, które pojawiają się w wynikowym pliku?

Beznadziejna uwaga:

Szukałem rozwiązania przez ostatnią godzinę lub dwie, znalazłem wiele podobnych przypadków i wypróbowałem wiele różnych potencjalnych rozwiązań (wiele z nich związanych z wyjściem PDF, które jest podkręcone w ten sam sposób, jeśli używam tylko Sweave), a teraz jestem dosłownie beznadziejny.

Edytuj w dniu 9 listopada 2012 r .:

Rozwiązanie za pomocąEncoding() zasugerowany przez @metasequoia działa, ale biorąc pod uwagę konieczność drukowania kodu, najlepiej bez tej funkcji, wolę rozwiązanie dostarczone przez @nograpes przy użyciu funkcjipdf.options().

Ale to ciekawe

<!--begin.rcode
pdf.options(encoding='ISOLatin2.enc')
plot(cars, main="Ťažký")
end.rcode-->

generuje te same ostrzeżenia,

<!--begin.rcode
pdf.options(encoding='ISOLatin2.enc')
end.rcode-->

<!--begin.rcode
plot(cars, main="Ťažký")
end.rcode-->

działa zgodnie z oczekiwaniami.Dlaczego? Pomyślałem, że chronologia to wszystko, co ma znaczenie przy uruchamianiu poleceń w R.

Zatem zdecydowanym rozwiązaniem dla moich celów jest postawienie

<!--begin.rcode echo="FALSE"
pdf.options(encoding='ISOLatin2.enc')
end.rcode-->

na początku każdego z moich kodów.

questionAnswers(3)

yourAnswerToTheQuestion