首页 > 解决方案 > UTF-8 编码的日文字符未正确显示在 Rstudio 控制台上

问题描述

我是一名使用 macOS 10.15.7 和 RStudio 1.4.1103、R 4.0.4 的日本 R 用户。
我从外部源导入了一个 UTF-8 编码的日文字符作为字符对象。当我尝试在控制台上打印它时,会显示字符代码。但是,当我将其转换为 tibble 并尝试打印时,我可以看到日文字符。
造成差异的原因是什么,前一种情况是否可以显示日文字符?

(可重现的例子)

library(tidyverse)
ja_txt <- "\u98df\u4e8b"
print(ja_txt)
#> [1] "\u98df\u4e8b"
ja_txt %>% enframe() %>% print()
#> # A tibble: 1 x 2
#>    name value
#>   <int> <chr>
#> 1     1 食事

reprex 包于 2021-04-18 创建(v1.0.0)

更新
正如我在评论中提到的,实际上我从在 MS Excel 上创建的 UTF-8 编码的 CSV 文件中导入了文本。我尝试了从 CSV 文件和 xlsx 文件导入,两者都不能正常工作,如下图所示。

日文字符的 RStudio 控制台图像

df <- structure(list(col1 = "\u98df\u4e8b"), class = c("spec_tbl_df", 
"tbl_df", "tbl", "data.frame"), row.names = c(NA, -1L), spec = structure(list(
    cols = list(col1 = structure(list(), class = c("collector_character", 
    "collector"))), default = structure(list(), class = c("collector_guess", 
    "collector")), skip = 1L), class = "col_spec"))

标签: rutf-8character-encodingrstudiotibble

解决方案


推荐阅读