1. 程式人生 > >R語言——UTF-8各種問題解決方法

R語言——UTF-8各種問題解決方法

R語言在碰到讀UTF-8檔案,或者處理UTF-8資料時總是會遇到各種各樣的問題,本姑娘也是在碰了n多次壁,被氣得吐血好多次之後,終於對這類總結出了一些解決辦法:

1. 讀UTF-8檔案,例如UTF-8格式的csv:

最好的處理辦法就是:

a1=read.table('C:\\test11.csv',sep=',',fileEncoding = 'UTF-8',header = F)

如果使用如下方法可能會出錯(全是血淚教訓啊):

a2=read.csv('C:\\test11.csv',fileEncoding = 'UTF-8',header = F)
a2=read.csv('C:\\test11.csv',encoding = 'UTF-8',header = F)

2.  如何在R裡把一個數據轉化為UTF-8格式:

因為我在R裡寫了一段程式,需要把資料轉化為JSON格式,通過上面的方法讀進來的資料是沒有問題,但是資料再R裡並不是utf-8格式儲存的,所以toJSON()時報瞭如下錯誤:

unable to escape string. String is not utf8

後來發現R裡有一個函式可以把資料轉為utf8格式:enc2utf8()

> a='小源'
> Encoding(a)#檢視a的編碼格式
[1] "unknown"
> b=enc2utf8(a)
> Encoding(b)
[1] "UTF-8"

3.  如何SOURCE一個UTF-8格式的R檔案:

source一個utf8編碼儲存的R指令碼,在windows下(linux由於預設編碼就是utf8,直接source就可以)

source('test.R',encoding = 'UTF-8')