[R] How to source() a .R file which was saved using UTF-8 encoding on Windows?
Tony Breyal
tony.breyal at googlemail.com
Mon Feb 21 14:08:05 CET 2011
Dear all,
[Note: This was originally posted over at Stack Overflow, but it was
suggested that the problem may be an error in R on Windows, so I have
cross posted over here too. ref: http://goo.gl/pd54D)
The following, when copied and pasted directly into R works fine:
> character_test <- function() print("R同时也被称为GNU S是一个强烈的功能性语言和环境,探索统计数据集,使许多从自定义数据图形显示...")
> character_test()
[1] "R同时也被称为GNU S是一个强烈的功能性语言和环境,探索统计数据集,使许多从自定义数据图形显示..."
However, if I make a file called character_test.R containing the EXACT
SAME code, save it in UTF-8 encoding (so as to retain the special
Chinese characters), then when I source() it in R, I get the following
error:
> source(file="C:\\Users\\Tony\\Desktop\\character_test.R", encoding = "UTF-8")
Error in source(file = "C:\\Users\\Tony\\Desktop\\character_test.R",
encoding = "utf-8") :
C:\Users\Tony\Desktop\character_test.R:3:0: unexpected end of input
1: character.test <- function() print("R
2:
^
In addition: Warning message:
In source(file = "C:\\Users\\Tony\\Desktop\\character_test.R",
encoding = "UTF-8") :
invalid input found on input connection 'C:\Users\Tony\Desktop
\character_test.R'
Any help you can offer in solving and helping me to understand what is
going on here would be much appreciated.
Best,
Tony Breyal
### Session information ###
> sessionInfo() # Windows 7 Pro x64
R version 2.12.1 (2010-12-16)
Platform: x86_64-pc-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United Kingdom.1252
[2] LC_CTYPE=English_United Kingdom.1252
[3] LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods
[7] base
loaded via a namespace (and not attached):
[1] tools_2.12.1
and
> l10n_info()
$MBCS
[1] FALSE
$`UTF-8`
[1] FALSE
$`Latin-1`
[1] TRUE
$codepage
[1] 1252
More information about the R-help
mailing list