在Windows系统的R语言中如何正确从剪贴板读取中文内容?
Windows系统R语言读取剪贴板中文乱码解决方案
该异常由编码不匹配导致:Windows中文系统的剪贴板默认使用GBK/GB2312编码,R语言默认读取编码与系统剪贴板编码不一致时就会出现??类的乱码。
可用以下两种方案解决:
- 方案1:指定编码读取(无全局影响,推荐)
通过剪贴板连接对象显式指定编码读取,无需修改R的全局配置:
部分特殊场景下如果仍有乱码,可尝试将编码替换为o <- readLines(con = clipboard(), encoding = "GBK")GB2312或GB18030适配不同的系统环境。 - 方案2:临时修改R区域配置
先修改当前R会话的字符区域设置,再用原有逻辑读取剪贴板即可:
该配置仅在当前打开的R会话中生效,重启R后会自动恢复默认设置。# 临时设置字符类区域为中文 Sys.setlocale("LC_CTYPE", "Chinese") # 执行原有读取代码 o <- readClipboard()
提示:如果复制的是UTF-8编码的中文文本,只需将方案1中的编码参数替换为
UTF-8即可正常读取。
内容的提问来源于stack exchange,提问作者Tan
相关产品推荐
相关产品推荐

