• R语言
  • [已解决]Rmarkdown中使用中文,跳出警告

1 个月 后

yihui 如果没有其他莽撞人愿意出手,你可以标记一下你的日历,一个月后再来提醒我。

大神,不知不觉已经一个月了。。。

    ChristopherShen 我仍然没多少时间,但我可以给你开个价:我可以抽时间帮你,如果我能解决这个问题,我希望你也能帮帮我,以下几个我维护的包中,你任选一个 Github issue 帮我解决掉(如果是纯问题,就帮我回答一下,如果问得不清楚你可以吼他;如果是漏洞,就帮我修正):

    https://github.com/yihui/knitr/issues
    https://github.com/rstudio/rmarkdown/issues
    https://github.com/rstudio/DT/issues
    https://github.com/rstudio/bookdown/issues
    https://github.com/rstudio/blogdown/issues

    如果我解决不了你的问题,你就什么都不用管了。如何?

    2018 年我打算厚颜无耻用这种传销手段了,我若再不找人来帮我、只是单纯输出我的劳力,我迟早会被这些事情搞崩溃。说到底,就是我用我的痛苦跟你的痛苦交换,哈哈。

      yihui 点开看了几个,发现我连人家问什么都不是很清楚,唉,算了,虽然很希望能融入大神的圈子,但终究还是有心无力啊。。。

        ChristopherShen

        试着重复了一下你的问题,rmarkdown里改用中文目录名和中文文件名之后果然不能用了。所以确保文件名里没有中文我觉得是更容易的解决方案。

        这个错误跟你的很像吧:

        > knitr::opts_chunk$set(echo = TRUE)
        Warning message:
        In dir.create(tempPath, recursive = TRUE) :
          cannot create dir 'C:\Users\TC\GIT\??', reason 'Invalid argument'

          tctcab 我平时的目录和文件名里面都有中文,基本功能都正常,导出成pdf也可以,就是每次执行命令都会条一个warning出来,有些烦人。

            11 天 后

            ChristopherShen 其实我估计这个问题真正要修复可能只需要十分钟,如果我的猜测没错的话,应该是缺少一个 Encoding(code) <- 'UTF-8'。类似的问题我以前修补过:https://github.com/rstudio/rstudio/pull/416/files 这个提示加上我上面的搜索提示,应该足够让一个普通 R 用户开始修复这个问题了。幸运的是这个问题不需要重新编译 RStudio,你可以在安装目录下找到那个 R 文件直接修改,改完了重启 RStudio 就可以测试了。

            我暂时只能帮到这里了。

              Cloud2016 三个文件(NotebookAlternateEngines.R、SessionRmdNotebook.R、SessionCodeTools.R),我逐一在本地搜索,第一个文件我没有,另外两个有;然后打开文件以后搜索“code”,在code之前或之后加上了Encoding(code) <- 'UTF-8',因为感觉不太放心,所以差不多真的是每个code附近都加了。现在测试以后果然正常了!!!?我怕对导出pdf有影响,所以又试了一次,导出也正常!?

              yihui 大神说得对啊,一定要造福后人!可惜我水平有限(GitHub账号都是刚刚才注册的?),幸好有Cloud2016 帮我翻译了一下大神的意思,要不然我还在乱试。