在 R 中将重音符号转换为 ASCII

Converting accents to ASCII in R

我正在尝试在 R 中将特殊字符转换为 ASCII。我尝试使用 Hadley 在 this question 中的建议:

stringi::stri_trans_general('Jos\xe9', 'latin-ascii')

但我得到 "Jos�"。我正在使用 stringi v1.1.1.

我是 运行 一个 Mac。我的 运行 Windows 机器的朋友似乎得到了 "Jose" 想要的结果。

知道发生了什么吗?

Windows 上的默认编码与其他操作系统 (UTF-8) 上的典型默认编码不同。 x ='Jos\xe9' 表示 Latin1,但不是 UTF-8。因此,在 Linux 或 OS X 上,您需要告诉 R 编码是什么:

x ='Jos\xe9'
Encoding(x) <- 'latin1'
stri_trans_general(x, 'Latin-ASCII')