首页 > 解决方案 > 如何在 Windows 上的 R 中设置默认的打字字符编码?

问题描述

我是这个网站的新手,我在硕士论文计算中积极使用 R。我使用俄语数据并且必须处理很多俄语西里尔字母,但在 Windows 上,问题是它默认情况下不以 UTF-8 编码字符。让我给你看一个例子:

Sys.setlocale(locale="Russian")
Encoding(c("Руссгрэйн Холдинг","Сбербанк","Русал","Магнит","Северсталь"))

作为输出,您将得到“未知”。

这对我来说是个问题,因为 stringr 包的许多功能都不起作用。

我尝试了哪些解决方法:

1) 像在 linux 上一样使用 Linux Mint 进行双启动我可以立即使用西里尔字母,而无需设置语言环境等。

2)对于纯Windows的方案,enc2utf8()每次操作字符串的时候都可以手动设置,但是比较繁琐,需要额外的操作。

总而言之,我想在 Windows 中找到一个解决方案,我可以立即输入 utf8 编码,这样我就不必每次都使用 enc2utf8。

关于直接解决我的问题的 stackoverflow 没有任何问题(它们主要涉及导入带有 utf-8 编码字符的数据表,这不是我的情况)。

标签: rwindowsencoding

解决方案


就目前而言,Windows 10 的最佳选择是每次使用 UTF-8 编码字符串时都使用 enc2native。这也将在 RStudio 查看器的活跃使用情况下受益。例如,查看器在 10 秒内对 UTF-8 编码的列进行排序,而如果该列是本机编码的,它可以在 2 秒内对整个列进行排序(具有 +200000 行的表)。


推荐阅读