簡體   English   中英

無法將一些unicode字符寫入文件

[英]Can't write some unicode characters to file

讓我們考慮以下代碼:

> cat('\u2077\u2078\u2079 \u2087\u2088\u2089')
⁷⁸⁹ ₇₈₉
> out <- file("out.txt", "w", encoding = 'utf-8')
> cat('\u2077\u2078\u2079 \u2087\u2088\u2089', file=out)
> close(out)

out.txt的內容是:

78<U+2079> 789

子/上標格式丟失,並且指數9是打印的代碼點。

這里發生了什么事? 在RStudio控制台中打印字符時,如何在文件中使用正確的字符形式?

版本:RStudio 1.1.436 / R 3.5.2 / Windows 10

Aargh,Windows和UTF-8!

我也一直感到困惑,這對我有用

options(encoding='native.enc')
out <- file('out.txt', open='w', encoding = 'UTF-8')
writeLines('\u2077\u2078\u2079 \u2087\u2088\u2089', 'out.txt', useBytes = TRUE)
close(out)
readback <- readLines('out.txt', encoding='UTF-8')

我的設置有點舊(我最常用的設置是OSX):Rstudio 0.99.903 / R 3.3.1 / Windows 7

我遇到的最奇怪的事情是,如果您設置了options(encoding='UTF-8') ,它就會停止工作options(encoding='UTF-8')

最后,我注意到所有提到的UTF-8都是大寫的,我看到您使用的是小寫的,我不確定這是否有所不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM