R无法使用UTF-8正确编码罗马字符

R无法使用UTF-8正确编码罗马字符,r,encoding,utf-8,character-encoding,R,Encoding,Utf 8,Character Encoding,我正在处理一个位置数据集,其中一些位置名称使用本地字符。大多数字符都被正确地看到,但我对一些罗马尼亚字符有意见,比如“ș” 我曾尝试将Windows 10 64位系统区域设置更改为使用UTF-8编码,但这并没有解决问题 可以在此处找到用于测试的示例文件: 此行导入数据: df <- read.delim("R_Encode_Issue.csv", header=TRUE, sep=",", encoding = "UTF-8", colClasses=c("character","cha

我正在处理一个位置数据集,其中一些位置名称使用本地字符。大多数字符都被正确地看到,但我对一些罗马尼亚字符有意见,比如“ș”

我曾尝试将Windows 10 64位系统区域设置更改为使用UTF-8编码,但这并没有解决问题

可以在此处找到用于测试的示例文件:

此行导入数据:

df <- read.delim("R_Encode_Issue.csv", header=TRUE, sep=",", encoding = "UTF-8", colClasses=c("character","character","character"))

> df
  region country         chapter
1 Europe Moldova Chi<U+0219>inau
在书面文件中,位置章节写为“chiunu”

R版本:

platform       x86_64-w64-mingw32          
arch           x86_64                      
os             mingw32                     
system         x86_64, mingw32             
status                                     
major          3                           
minor          5.3                         
year           2019                        
month          03                          
day            11                          
svn rev        76217                       
language       R                           
version.string R version 3.5.3 (2019-03-11)
nickname       Great Truth     
RStudio版本:

$mode
[1] "desktop"

$version
[1] ‘1.1.463’
当我在导入和导出时使用UTF-8作为编码时,我希望查看器,或者至少是写入的文件能够正确显示字符。但实际情况是,字符导出不正确


关于如何更正此问题,有什么见解吗?

尝试使用不同于base R的导入和导出函数。我使用导出文件中的
readr
实现了此功能(看起来查看器确实将其显示为
chiinanu
。如果我指定该文件具有UTF-8编码,则导出的文件将在记事本和Excel中正确打开

library(readr)
df <- read_csv("C:/Users/Andrew/Downloads/R_Encode_Issue.csv", locale = locale(encoding = "UTF-8"))

df
# A tibble: 1 x 3
  region country chapter 
  <chr>  <chr>   <chr>   
1 Europe Moldova Chișinău

write_csv(df, "C:/Users/Andrew/Desktop/R_Encode_Issue.csv")
库(readr)

df尝试使用不同于base R的导入和导出函数。我在导出的文件中使用了
readr
(似乎查看器确实将其显示为
chiinanu
。导出的文件在记事本中正确打开,如果我指定它具有UTF-8编码,则在Excel中正确打开

library(readr)
df <- read_csv("C:/Users/Andrew/Downloads/R_Encode_Issue.csv", locale = locale(encoding = "UTF-8"))

df
# A tibble: 1 x 3
  region country chapter 
  <chr>  <chr>   <chr>   
1 Europe Moldova Chișinău

write_csv(df, "C:/Users/Andrew/Desktop/R_Encode_Issue.csv")
库(readr)

df尝试
write_csv()
从程序包
readr
而不是R的内置
write.csv()
。尝试
write_csv()
从程序包
readr
而不是R的内置
write.csv()
。嗨,安德鲁,readr导出功能似乎可以做到这一点!感谢您的输入:)嗨,Andrew,readr导出功能似乎起到了作用!感谢您的输入:)
library(readr)
df <- read_csv("C:/Users/Andrew/Downloads/R_Encode_Issue.csv", locale = locale(encoding = "UTF-8"))

df
# A tibble: 1 x 3
  region country chapter 
  <chr>  <chr>   <chr>   
1 Europe Moldova Chișinău

write_csv(df, "C:/Users/Andrew/Desktop/R_Encode_Issue.csv")