Я китаец, и часто имею дело с китайскими иероглифами. Я до сих пор не могу найти способ правильно кодировать китайский.
На данный момент лучший способ - read.csv(file_name, fileEncoding = "UTF8")
. Но когда я перечисляю все файлы в wd
, используя dir()
, он выглядит искаженным:
> dir()
[1] "16PF.csv" "codebook.html" "Table_2.xls"
[4] "win-library" "鏈牎鏂囩.csv" "鏈牎鏂囩.R"
Это после того, как я установил системный языковой стандарт:
> Sys.setlocale(category = "LC_ALL", locale = "chs") #cht for traditional Chinese, etc.
[1] "LC_COLLATE=Chinese_People's Republic of China.936;LC_CTYPE=Chinese_People's Republic of China.936;LC_MONETARY=Chinese_People's Republic of China.936;LC_NUMERIC=C;LC_TIME=Chinese_People's Republic of China.936"
В Global Options
-> Code
-> Saving
, кодировка по умолчанию установлена в UTF8.
Я также wi sh, чтобы заставить R Studio читать китайский текст без необходимости каждый раз использовать команду Я открываю это.
Обновление : метод, предоставляемый @niki, хорош для простого чтения текста: https://imgur.com/a/6XtwmzC
Однако мне нужно иметь дело с китайским символы в кадрах данных.
Я только что обнаружил, что read.csv(file_name, fileEncoding = "UTF8")
на самом деле не работает:
> grades=read.csv("grades.csv",fileEncoding="UTF-8")
Warning messages:
1: In read.table(file = file, header = header, sep = sep, quote = quote, :
invalid input found on input connection 'grades.csv'
2: In read.table(file = file, header = header, sep = sep, quote = quote, :
incomplete final line found by readTableHeader on 'grades.csv'
Если я не установил системный языковой стандарт:
> Sys.setlocale("LC_ALL","Chinese")
[1] "LC_COLLATE=Chinese (Simplified)_China.936;LC_CTYPE=Chinese (Simplified)_China.936;LC_MONETARY=Chinese (Simplified)_China.936;LC_NUMERIC=C;LC_TIME=Chinese (Simplified)_China.936"
> grades=read.csv("grades.csv",fileEncoding="UTF-8")
> head(grades[,c(3,6,8)],3)
文理类型 学生类型 数学
1 文科 应届 138
2 文科 应届 134
3 文科 应届 119
Потому что устанавливать локаль системы каждый раз, когда я запускаю R Studio, неудобно, я пытался вставить Sys.setlocale("LC_ALL","Chinese")
в Rprofile
, но это не сработало.
Update 2: I Похоже, что вы нашли неправильный файл RProfile
. Теперь это было решено.