r - 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 文件导入,两者都不能正常工作,如下图所示。
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"))
解决方案
推荐阅读
- asp.net-mvc - 如何在 asp.net mvc 的同一个 foreach 中显示多个模型?
- python - 需要将 Windows 应用程序(在我的情况下为 Excel)带到前台 - python
- haskell - 为多态模式同义词编写完整的编译指示?
- c++ - 错误:使用已删除的函数 'std::atomic<_Tp>::atomic() [with _Tp = node]'
- python - 用户输入的Python暂停循环
- android - 使用 android 支持和 androidx 的 GradleCompatible 问题。*
- amazon-web-services - 通过 Akka HTTP 或 Play 以 zip 格式从 S3 流式下载多个文件
- arrays - Kotlin 数组
异化 - algorithm - 我将使用什么算法理论在一个包含 1 亿条记录的大文件中搜索一条完整记录?
- google-cloud-platform - Google Cloud Build 子构建