在R中将重音转换为ASCII

在R中将重音转换为ASCII

问题描述:

我正在尝试在R中将特殊字符转换为ASCII.我曾尝试在

I'm trying to convert special characters to ASCII in R. I tried using Hadley's advice in this question:

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

但是我得到了乔斯".我正在使用stringi v1.1.1.

But I get "Jos�". I'm using stringi v1.1.1.

我正在运行Mac.我的运行Windows计算机的朋友似乎获得了"Jose"的期望结果.

I'm running a Mac. My friends who are running Windows machines seem to get the desired result of "Jose".

知道发生了什么吗?

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

The default encoding on Windows is different from the typical default encoding on other operating systems (UTF-8). x ='Jos\xe9' means something in Latin1, but not in UTF-8. So, on Linux or OS X you need to tell R what the encoding is:

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