R 中的非 ASCII 字符问题
Issue with Non-ASCII Characters in R
我在 R 中加载具有各种 non-ASCII/double 字节字符的自由文本字段的数据。根据我用来加载数据的函数或数据存储的格式(.csv
或 .xlsx
),字符显示不同。
具体来说,如果我将 read.csv
与 .csv
文件一起使用或将 read_excel
与 .xlsx
文件一起使用,则字符显示如下:Orientaci�n m�s
.
与此同时,如果我将 read_csv
与 .csv
文件一起使用,它们将显示为:Orientaci�n m�s
是否有文件 format/data 加载组合来解决这个问题?还是有某种方法可以在加载后以任何一种格式解码数据?我已经探索了多种方法,包括在适用的情况下更改编码参数和 decoder
包,但我什么也做不了。
想法?
编辑:根据下面的评论,我尝试了以下方法:
readr::guess_encoding("file with issue.csv")
# A tibble: 2 x 2
encoding confidence
<chr> <dbl>
1 UTF-8 1
2 ISO-8859-1 0.52
readr::guess_encoding("file without issue.csv")
guess_encoding("Goal_Details.csv")
# A tibble: 2 x 2
encoding confidence
<chr> <dbl>
1 UTF-8 1
2 windows-1252 0.51
iconv(x,"ISO-8859-1","windows-1252")
x
对应 string/field 问题,但仍然没有解决问题。
想法?
经进一步调查,答案是'��'已经被解码。在某些时候原始字符没有被解码,所以 windows 默认基本上是说“我不知道这是什么”,它对任何 non-ASCII 字符都是这样。
比如,到了这个点就没有区别á和¿了。这些类型的字符有可用的人行横道,但它们在这里不起作用,因为需要在语言级别进行替换,这是一个完全不同的问题。
从本质上讲,要么必须替换或删除“�”,运行 一种多种语言的拼写检查器。
我在 R 中加载具有各种 non-ASCII/double 字节字符的自由文本字段的数据。根据我用来加载数据的函数或数据存储的格式(.csv
或 .xlsx
),字符显示不同。
具体来说,如果我将 read.csv
与 .csv
文件一起使用或将 read_excel
与 .xlsx
文件一起使用,则字符显示如下:Orientaci�n m�s
.
与此同时,如果我将 read_csv
与 .csv
文件一起使用,它们将显示为:Orientaci�n m�s
是否有文件 format/data 加载组合来解决这个问题?还是有某种方法可以在加载后以任何一种格式解码数据?我已经探索了多种方法,包括在适用的情况下更改编码参数和 decoder
包,但我什么也做不了。
想法?
编辑:根据下面的评论,我尝试了以下方法:
readr::guess_encoding("file with issue.csv")
# A tibble: 2 x 2
encoding confidence
<chr> <dbl>
1 UTF-8 1
2 ISO-8859-1 0.52
readr::guess_encoding("file without issue.csv")
guess_encoding("Goal_Details.csv")
# A tibble: 2 x 2
encoding confidence
<chr> <dbl>
1 UTF-8 1
2 windows-1252 0.51
iconv(x,"ISO-8859-1","windows-1252")
x
对应 string/field 问题,但仍然没有解决问题。
想法?
经进一步调查,答案是'��'已经被解码。在某些时候原始字符没有被解码,所以 windows 默认基本上是说“我不知道这是什么”,它对任何 non-ASCII 字符都是这样。
比如,到了这个点就没有区别á和¿了。这些类型的字符有可用的人行横道,但它们在这里不起作用,因为需要在语言级别进行替换,这是一个完全不同的问题。
从本质上讲,要么必须替换或删除“�”,运行 一种多种语言的拼写检查器。