我在Windows 7 64位上使用R 2.15.0。我想將unicode(CJK)文本輸出到文件。以下代碼顯示了發(fā)送給UTF-8文件連接寫的Unicode字符如何無法按預(yù)期的方式工作:rty <- file("test.txt",encoding="UTF-8")write("在", file=rty)close(rty)rty <- file("test.txt",encoding="UTF-8")scan(rty,what=character())close(rty)如掃描輸出所示:Read 1 item [1] "<U+5728>"該文件不是用UTF字符本身編寫的,而是某種與ANSI兼容的備用。我可以使它第一次正確工作(例如,使用帶有“在”的文本文件),還是可以工作一些額外的魔術(shù)來用適當(dāng)?shù)淖址鎿Q代碼字符串將輸出轉(zhuǎn)換為Unicode?謝謝。[更多信息:相同的代碼在Cygwin R 2.14.2中正常運行,而Win7上的2.14.2也已損壞。這是我那邊的地方嗎?]
3 回答

函數(shù)式編程
TA貢獻1807條經(jīng)驗 獲得超9個贊
將UTF-8字符串保存在文本文件中:
kLogFileName <- "parser.log"
log <- function(msg="") {
con <- file(kLogFileName, "a")
tryCatch({
cat(iconv(msg, to="UTF-8"), file=con, sep="\n")
},
finally = {
close(con)
})
}
- 3 回答
- 0 關(guān)注
- 1207 瀏覽
添加回答
舉報
0/150
提交
取消