我想從文件讀取j中的json對象,其中包含unicode中的名稱和姓氏。這裏的文件「x1.json」的內容:來自JSON的R不正確地從文件中讀取Unicode
{"general": {"last_name":
"\u041f\u0430\u0449\u0435\u043d\u043a\u043e", "name":
"\u0412\u0456\u0442\u0430\u043b\u0456\u0439"}}
我用RJSONIO
包,當我直接申報JSON對象,一切順利的話:
x<-fromJSON('{"general": {"last_name": "\u041f\u0430\u0449\u0435\u043d\u043a\u043e", "name": "\u0412\u0456\u0442\u0430\u043b\u0456\u0439"}}')
x
# $general
# last_name name
# "Пащенко" "Віталій"
但是,當我讀同一從文件,字符串轉換爲某種未知對我來說編碼:
x1<-fromJSON("x1.json")
x1
# $general
# last_name name
# "\0370I5=:>" "\022VB0;V9"
注意,這些都沒有逃過「\ U」(這was discussed here)
我試圖指定 「編碼」 的說法,但這並沒有幫助:
> x1<-fromJSON("x1.json", encoding = "UTF-8")
> x1
$general
last_name name
"\0370I5=:>" "\022VB0;V9"
系統信息:
> Sys.getlocale()
[1] "LC_COLLATE=Ukrainian_Ukraine.1251;LC_CTYPE=Ukrainian_Ukraine.1251;LC_MONETARY=Ukrainian_Ukraine.1251;LC_NUMERIC=C;LC_TIME=Ukrainian_Ukraine.1251"
切換到英語(Sys.setlocale( 「LC_ALL」,「英語「))並沒有改變這種情況。
是否有任何理由不使用'rjson'軟件包?它的功能來自'fromJSON'。 –
@帕斯卡爾說什麼,見http://stackoverflow.com/questions/30580601/how-to-correctly-deal-with-escaped-unicode-characters-in-rs-library-rjsonio-whe –
它適用於我。 –