2016-08-17 4 views
3

私はcsvファイルからデータを読み込み、文字のエンコーディングをUTF-8に指定しようとしています。読み込みから?read.csv()命令までは、fileEncodingがUTF-8と同じに設定されていると思われますが、チェックしても表示されません。データをインポートするときに、文字列のエンコーディングをUTF-8にするより良い方法はありますか?UTF-8エンコーディングのread.csv()

サンプルデータ:

Download Sample Data here

fruit<- read.csv("fruit.csv", header = TRUE, fileEncoding = "UTF-8") 
fruit[] <- lapply(fruit, as.character) 
Encoding(fruit$Fruit) 

出力は "にUnknown" ですが、私は、これは、 "UTF-8" であることを期待します。インポートされたすべての文字がUTF-8であることを確認する最良の方法は何ですか?ありがとうございました。

+1

代わりに 'encoding'引数を試してみますか? – Abdou

+1

あなたは 'as.character'に強制的に変換する前のクラスは何ですか?おそらく 'stringsAsFactors = FALSE'を' read.csv'に追加してください。また、あなたのキャラクタのうちのどれかがASCII範囲外にある場合、エンコーディングで気にすることはありません: 'x < - " Hello ";エンコーディング(x)< - "UTF-8";エンコーディング(x) 'vs' x < - "Həllö";エンコーディング(x) ' – MrFlick

答えて

1
fruit  <- read.csv("fruit.csv", header = TRUE) 
fruit[]  <- lapply(fruit, as.character) 
fruit$Fruit <- paste0(fruit$Fruit, "\xfcmlaut") # Get non-ASCII char and jam it in! 
Encoding(fruit$Fruit) 

[1] "LATIN1" "LATIN1" "LATIN1"

fruit$Fruit <- enc2utf8(fruit$Fruit) 
Encoding(fruit$Fruit) 

[1] "UTF-8" "UTF-8" "UTF-8"

関連する問題