具有 utf-8 文本的脚本的运行方式与 Windows 中的 RStudio 和命令行不同

2023-11-23

我正在处理包含印地语文本的文件并解析它们。我在 Rstudio 中编写了代码并执行它,没有出现很多问题。但现在,我需要使用 R.exe/Rscript.exe 从命令行执行相同的脚本,但它的工作方式不同。我从 RStudio 和终端运行了一个简单的脚本:

n_p<-'नाम'

Encoding(n_p)

gregexpr(n_p,c('adfdafc','नाम adsfdfa'))
sessionInfo()

RStudio 中的输出:

> n_p<-'नाम'
> 
> Encoding(n_p)
[1] "UTF-8"
> 
> gregexpr(n_p,c('adfdafc','नाम adsfdfa'))
[[1]]
[1] -1
attr(,"match.length")
[1] -1

[[2]]
[1] 1
attr(,"match.length")
[1] 3

> sessionInfo()
R version 3.5.0 (2018-04-23)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7600)

Matrix products: default

locale:
[1] LC_COLLATE=English_India.1252  LC_CTYPE=English_India.1252   
[3] LC_MONETARY=English_India.1252 LC_NUMERIC=C                  
[5] LC_TIME=English_India.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] rJava_0.9-10

loaded via a namespace (and not attached):
[1] compiler_3.5.0 tools_3.5.0   

在 cmd 中使用 R.exe 进行输出(出于调试目的。Rscript.exe 给出类似的输出(如果不相同))

> n_p<-'à☼"à☼_à☼r'
>
> Encoding(n_p)
[1] "latin1"
>
> gregexpr(n_p,c('adfdafc','à☼"à☼_à☼r adsfdfa'))
[[1]]
[1] -1
attr(,"match.length")
[1] -1

[[2]]
[1] 1
attr(,"match.length")
[1] 9

> sessionInfo()
R version 3.5.0 (2018-04-23)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7600)

Matrix products: default

locale:
[1] LC_COLLATE=English_India.1252  LC_CTYPE=English_India.1252
[3] LC_MONETARY=English_India.1252 LC_NUMERIC=C
[5] LC_TIME=English_India.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_3.5.0

我尝试过更改语言环境但是Sys.setlocale拒绝正常工作。在某些情况下,gregexpr当它无法解析非 ASCII 代码时会给出错误。最后,当它运行没有错误时,它无法正确匹配正则表达式。我目前无法提供可重现的示例,但我稍后会尝试提供。

Help.


正确的答案是您应该使用选项 --encoding=文件编码 运行 Rscript

无需设置区域设置,而且您可能发现,它无论如何都不起作用。如果您的文件是 UTF-8: Rscript.exe --encoding=UTF-8 文件.R

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有 utf-8 文本的脚本的运行方式与 Windows 中的 RStudio 和命令行不同 的相关文章

  • R 中的点图每行有多个值

    我有以下 R 输入文件 car 1 car 2 car 3 car2 1 car2 2 car2 3 然后 我使用以下命令来绘制图表 autos data 点图 autos data V2 autos data V1 但这将每个汽车和 ca
  • 所有语言中特殊字符的 Java 正则表达式

    在我的用户输入字段中 我想允许某些特殊字符 字母和数字的组合 我应该确保正则表达式模式在输入时允许此设置任何语言 基本上我构建的这个正则表达式也应该支持 unicode 表示 如何使用 Java 中的 Pattern 类来实现这一点 这里给
  • 使用 R 下载压缩数据文件、提取并导入 .csv

    我正在尝试使用以下方法从网页下载并提取 csv 文件R 这个问题是重复的使用 R 下载压缩数据文件 提取和导入数据 https stackoverflow com questions 3053833 using r to download
  • PSExec 中的会话 ID

    Psexec 无法在远程会话上为我显示记事本 GUI 因此 我尝试获取会话 ID 如下所示 c Users Amitra Downloads PSTools gt PsExec u administrator p force 135 20
  • 如何使用 java.util.regex.* 执行部分匹配?

    我一直在使用 java util regex 类来实现 Java 中的正则表达式 到目前为止一切都很好 但今天我有一个不同的要求 例如 考虑模式为 aabb 现在 如果输入字符串是 aa 它肯定不匹配 但是如果我附加 bb 它仍然有可能变成
  • 使用 R Markdown 文档作为函数源

    我正在研究 R Markdown 来记录我经常使用的功能 我会将它们放入 R Markdown 文件中以记录它们 然后如果我几个月后回来查看它 就能够阅读我在函数背后的想法 我的问题是 如果我开始一个新的 R 项目 是否可以获取 r mar
  • 来自大型数据帧的共现

    我有一个数据框 其中包含有关每个用户访问过哪些城市的信息 df visited lt data frame user c john john claire claire doe doe city c Antananarivo Barcelo
  • 在zooreg时间序列中查找非唯一索引条目时遇到问题

    我有几年的数据正在尝试将其转化为动物园对象 Dropbox 上的 csv https www dropbox com sh vg8w8pt16e0v3xs AABKtWqDkPu9JVKpwBXO36VOa dl 0 一旦数据被强制转换为动
  • 如何仅回显“开”或“关”文本?

    大家都知道 在 Windows 命令文件中 cmd echo on echo off 启用和禁用回显 但是如何仅回显文本 on 或文本 off IE 如何发送文本 on off to stdout 目标系统 Windows XP 那么在 D
  • PE 文件中的跳转存根

    最近我反汇编了一个DLL 用c c 编写 发现代码段内有很多 跳转存根 这些存根除了跳转到 DLL 内的函数之外什么也不做 eg jmp foo jmp foo2 为什么编译器 Visual studio 2012 在二进制文件中包含这些函
  • 如何对范围内的行进行分组并考虑第三列?

    我有一个遗传数据集 我想对基因组中物理上靠近的遗传变异 行进行分组 我想对每条染色体基因组中某些点范围内的基因进行分组 chrom 我的 点 数据集包含变体 行需要在一定范围内的位置 如下所示 chrom low high 1 500 17
  • 如何将 Shiny 中生成的反应图传递到 Rmarkdown 以生成动态报告

    简而言之 我希望能够通过单击按钮从我的闪亮应用程序生成动态 Rmarkdown 报告文件 pdf 或 html 为此 我想我将使用 Shiny 的参数化报告 但不知何故 我无法将单个谜题转移到所需的目标 使用此代码 我们可以在 R Shin
  • 如何在Vim中正确显示UTF-8字符

    我想要 需要编辑包含 UTF 8 字符的文件 并且我想使用 Vim 在我被指责问以前问过的问题之前 我已经阅读了有关编码 文件编码 s 术语编码等的 Vim 文档 用 google 搜索了该主题 并阅读这个问题 https stackove
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • select() 可以在 Windows 下使用 Python 中的文件吗?

    我正在尝试在 Windows 下运行以下 python 服务器 An echo server that uses select to handle multiple clients at a time Entering any line o
  • R中data.frame(列表)的列平均值

    Data https i stack imgur com ZYsmv jpg 请 我需要计算此 data frame 中维吉尼亚币 Sepal Length 列的平均值 Sepal Length Sepal Width Petal Leng
  • 是否可以使用 Eclipse 的正则表达式搜索和替换转换为小写?

    我已经尝试过 L 但它似乎不是其语法的一部分 并且它的帮助没有提及任何可用的转换 我知道我可以并且知道如何从命令行执行此操作 但是 是否可以使用 Eclipse 的正则表达式搜索和替换进行大小写转换 您可以分两步完成 首先插入小写字母 那么
  • 如何在闪亮的observeEvent中监听多个事件表达式

    我想要两个不同的事件触发观察者 有人建议here https stackoverflow com questions 34731975 how to listen for more than one event expression wit
  • ggplot:类似于scale_color_steps()的有序因子的色标

    With scale color steps 我们可以通过设置low和high争论 一个例子 df lt data frame x rnorm 99 y rnorm 99 col rnorm 99 ggplot df aes x y col
  • 从 leafletProxy() 返回渲染的传单地图

    是否可以在渲染后在 Shiny 中检索传单地图 下面是一个代码示例 展示了如何生成地图leaflet 与返回的不同leafletProxy 即使它们在渲染时看起来完全相同 是否有一个功能可能不同于leafletProxy 获取实际的 htm

随机推荐

  • 如何使用 log4j 关闭日志记录?

    我正在使用具有 log4j xml 配置的第三方库 关闭日志记录的最佳方法是什么 我认为所需要做的就是将阈值参数设置为 OFF
  • 从终端撤消对 bashrc 的更改

    不幸的是我刚刚覆盖了我的 bashrc with echo command gt bashrc 而不是通过附加 echo command gt gt bashrc 这并不是一个巨大的倒退 因为我刚开始在航站楼工作 然而我想知道如果可以恢复我
  • 如何从 Activity 更新 Android Fragment?

    我想根据从互联网下载的数据定期更新片段的显示 我创建了一个 Timer 和 Runnable 来定期检索此数据以及片段中的方法来更新它 但我似乎无法弄清楚如何获取从活动到片段的引用以更新它 我有以下代码 主要是由 ADT 的 Android
  • ReadonlyCollection,对象是不可变的吗?

    我正在尝试使用 ReadOnlyCollection 使对象不可变 我希望对象的属性是不可变的 public ReadOnlyCollection
  • 如何让struts2看到我的属性文件

    你好 我有这个项目结构 并在我的index jsp我有这个代码
  • C++ 需要一个以 OutputIterator 作为参数的成员函数的概念

    我正在研究概念并遇到了障碍 或者也许只是我的思想被封锁了 我想创建一个缓冲 批量可读 数据源的类 这样的数据源应该有一个接受 OutputIterator 的成员函数 并具有如下签名 template
  • qemu:未捕获的目标信号 11(分段错误)- 核心转储到 docker 容器中

    我正在使用 docker compose 在本地计算机上设置 Kafka 我的机器详细信息是 macOsBigSur Version 11 2 3 20D91 Chip Apple M1 RAM 8 GB Docker 镜像是 conflu
  • 对抗 Django 中的客户端缓存

    我正在使用 render to response 快捷方式 并且不想制作特定的 Response 对象来添加额外的标头以防止客户端缓存 我想要一个包含以下内容的回复 编译指示 无缓存 缓存控制 无缓存 缓存控制 必须重新验证 浏览器希望将所
  • 什么时候“星图”可以优于“列表理解”

    回答问题的同时笨拙地计算一组递增数字之间的差异 是否有更漂亮的方法 我想出了两种解决方案 一种是List Comprehension和其他使用itertools starmap To me list comprehension语法看起来更清
  • ASP.NET 会员资格:CSS 被拒绝用户阻止,页面无法正确呈现?

    我有一个功能正常的页面 但是当我对整个站点发出拒绝用户请求时 它会将我重定向到登录页面 该页面似乎可以工作 但 css 无法工作 所以没有造型 有人可以帮忙吗 我的 web config 是这样的
  • 重命名 PostgreSQL 中的多个列

    我的表有一堆格式如下的列 settingA settingB settingB 我想重命名它们只是添加一个前缀 如下所示 1 settingA 1 settingB 1 settingC 我有一个lot超过三列以这种方式重命名 如果我只有三
  • 将分区 LIST 附加到 postgres 11 中的现有表

    我正在尝试更改表以在 postgres 11 中使用分区列表 我已经尝试了几个小时 但我不断收到错误 我有一个巨大的表 客户 有 client id customer id value 我已经通过将旧表重命名为clients old 创建了
  • 如何在 REPL 中使用默认(包)或私有访问级别的成员?

    我试图在我的测试 调试周期中添加一些交互性 因此我尝试使用 Scala REPL 中的类 这很有效 但缺点是我无法访问包级和私有级成员 这些成员可以通过单元测试进行测试 如果测试位于同一个包中 我可以 设置 Scala REPL 的包 上下
  • 如何使用Java将十六进制转换为RGB?

    如何在 Java 中将十六进制颜色转换为 RGB 代码 大多数在 Google 中 示例都是关于如何从 RGB 转换为十六进制的 实际上 有一种更简单的 内置 方法可以做到这一点 Color decode FFCCEE
  • 意外的操作员错误[重复]

    这个问题在这里已经有答案了 我的代码有什么问题 bin sh LOOK FOR 1 for i in find 2 name jar do echo Looking in i jar tvf i grep LOOK FOR gt dev n
  • Github 私人存储库中原始文件的永久链接

    好吧 我已经在这里的其他几个地方看到了类似的问题 但其中许多已经存在多年了 并且没有看到任何一个令人满意的答案 Github 原始文件 我可以获得永久链接吗 and 通过access token读取Github上私人仓库中文件的原始内容 首
  • C++ 字符串和流缓冲区溢出安全吗?

    如果我使用 std cin std cout 和 std string 有吗any有人会利用缓冲区溢出的可能性吗 我问这个问题是因为我仍然看到很多人仍然使用空终止字符串而不是 C 中的标准容器 您仍然看到人们在 C 中使用 C 字符串的一个
  • CMake 没有获取链接库的 INTERFACE_INCLUDE_DIRECTORIES

    我的 cmake 文件中有这个 get target property moggle interface includes moggle INTERFACE INCLUDE DIRECTORIES message Moggle interf
  • 语义 UI 框架支持 RTL 语言吗?

    如何使语义UI框架 从右到左 支持 有没有 无论如何要在安装步骤中使其支持 RTL 吗 您可以在以下场景下启用 RTL 支持 1 全新安装 转到项目的文档根目录并通过npm安装semantic ui npm 安装语义 ui save mod
  • 具有 utf-8 文本的脚本的运行方式与 Windows 中的 RStudio 和命令行不同

    我正在处理包含印地语文本的文件并解析它们 我在 Rstudio 中编写了代码并执行它 没有出现很多问题 但现在 我需要使用 R exe Rscript exe 从命令行执行相同的脚本 但它的工作方式不同 我从 RStudio 和终端运行了一