Rhtml: Advertencia: error de conversión en '<var>' en 'mbcsToSbcs': punto sustituido por <var>
Ambiente:
R v. 2.15.1 en Mac OS 10.8.2, plataforma x86_64-apple-darwin9.8.0 / x86_64 (64 bits), con RStudio IDE que está configurado para usar UTF-8 como su codificación predeterminada. El sistema operativo también utiliza 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"
Objetivo:
Genere un archivo HTML a partir del archivo R HTML (.Rhtml), que contiene un trazado con caracteres latinos extendidos, como š o č.
Problema:
Cuando hago clic enTejer HTML, la salida se ve así:
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.**
Pregunta:
¿Qué causa el problema y cómo resolverlo? ¿Cómo puedo al menos deshacerme de las advertencias que se muestran en el archivo resultante?
Nota desesperada:
He estado buscando una solución durante la última hora o dos, encontré muchos casos similares y probé muchas soluciones potenciales diferentes (muchas de ellas relacionadas con la salida de PDF, que está mejorada de la misma manera si uso Sweave), y ahora estoy literalmente sin esperanza.
Edición el 9 de noviembre de 2012:
La solucion usandoEncoding()
sugerido por @metasequoia funciona, pero considerando la necesidad de imprimir el código también, preferiblemente sin esa función, prefiero la solución provista por @nograpes usando la funciónpdf.options()
.
Es interesante, sin embargo, que mientras
<!--begin.rcode
pdf.options(encoding='ISOLatin2.enc')
plot(cars, main="Ťažký")
end.rcode-->
produce las mismas advertencias,
<!--begin.rcode
pdf.options(encoding='ISOLatin2.enc')
end.rcode-->
<!--begin.rcode
plot(cars, main="Ťažký")
end.rcode-->
Funciona como se espera.¿Porqué es eso? Pensé que la cronología es todo lo que importa cuando se ejecutan comandos en R.
Entonces, la solución definitiva para mis propósitos es poner
<!--begin.rcode echo="FALSE"
pdf.options(encoding='ISOLatin2.enc')
end.rcode-->
Al comienzo de cada uno de mis códigos.