Rmarkdown / knitr WINDOWS 系统下中文显示

来源:互联网 发布:java writer append 编辑:程序博客网 时间:2024/06/06 21:38

WINDOWS系统下,用Rmarkdown无法直接将中文显示出来。有可能是使用的平台,R,或者相关package的版本未更新到最新版本,但最常见的原因是操作系统的语言设置并不是中文

如下图:


点击Knit HTML按钮后(encoding type默认为UTF-8),得到的结果如下:


汉字被UTF-8代码代替,并没有正常显示。

按文章开头的两种思路检查,先看操作系统,R和package的版本信息。这些可用SessionInfo()查到,运行的结果中有几个主要参数可供参考:


R的版本,操作平台的版本,编写Rmarkdown的package(即knitr)的版本均为最近更新的版本,另外还可以看到locale列表下,LC_COLLATE的值是English_United_States.1252

然后再用Sys.getlocale()检查操作系统的区域语言设置,得到的结果如下,这一部分的结果跟SessionInfo()运行结果中locale列表的内容一致:

[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"

果然需要修改语言设置啊~~~~

请自行查询如何在windows中修改语言设置,修改完成后,再次用Sys.getlocale()查询,你会看到查询结果变成了简体中文相关代码:

[1] "LC_COLLATE=Chinese (Simplified)_People's Republic of China.936;LC_CTYPE=Chinese (Simplified)_People's Republic of China.936;LC_MONETARY=Chinese (Simplified)_People's Republic of China.936;LC_NUMERIC=C;LC_TIME=Chinese (Simplified)_People's Republic of China.936"


这样就可以输出中文鸟!



0 0
原创粉丝点击