Sys.setenv(LANG="C") # for english error message on Windows
library(tidyverse)
#> Warning: package 'tidyverse' was built under R version 3.4.4
#> Warning: package 'tibble' was built under R version 3.4.4
#> Warning: package 'tidyr' was built under R version 3.4.4
#sessionInfo()
#with(R.version, print(c(platform, version.string)))
Sys.getlocale()
#> [1] "LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.932;LC_MONETARY=Japanese_Japan.932;LC_NUMERIC=C;LC_TIME=Japanese_Japan.932"
df1 <- structure(
list(Eng = 1:3, 日本語 = 4:6),
.Names = c("Eng", "日本語"),
row.names = c(NA, -3L),
class = c("tbl_df", "tbl", "data.frame"))
df2 <- read_csv(
"Eng,日本語
1,4
2,5
3,6", locale = locale(encoding = "cp932"))
attr(df2, "spec") <- NULL # remove redundant attribute
## This returns TRUE but internal character set is dirrerent! see details by using `.Internal(inspect(...))`
identical(df1, df2)
#> [1] TRUE
Encoding(names(df1))
#> [1] "unknown" "unknown"
Encoding(names(df2))
#> [1] "unknown" "UTF-8"
df1 %>% select(`Eng`) # run
#> # A tibble: 3 x 1
#> Eng
#> <int>
#> 1 1
#> 2 2
#> 3 3
df2 %>% select(`Eng`) # run
#> # A tibble: 3 x 1
#> Eng
#> <int>
#> 1 1
#> 2 2
#> 3 3
df1 %>% select(`日本語`) # run
#> # A tibble: 3 x 1
#> 日本語
#> <int>
#> 1 4
#> 2 5
#> 3 6
df2 %>% select(`日本語`) # Error in FUN(X[[i]], ...) : object '日本語' not found
#> Error in FUN(X[[i]], ...): object '日本語' not found
names(df2) <- enc2native(names(df2))
df2 %>% select(`日本語`) # run
#> # A tibble: 3 x 1
#> 日本語
#> <int>
#> 1 4
#> 2 5
#> 3 6
Created on 2018-05-03 by the reprex package (v0.2.0).
Session info
devtools::session_info()
#> Session info -------------------------------------------------------------
#> setting value
#> version R version 3.4.3 (2017-11-30)
#> system x86_64, mingw32
#> ui RTerm
#> language (EN)
#> collate Japanese_Japan.932
#> tz Asia/Tokyo
#> date 2018-05-03
#> Packages -----------------------------------------------------------------
#> package * version date source
#> assertthat 0.2.0 2017-04-11 CRAN (R 3.4.2)
#> backports 1.1.2 2017-12-13 CRAN (R 3.4.3)
#> base * 3.4.3 2017-12-06 local
#> bindr 0.1.1 2018-03-13 CRAN (R 3.4.4)
#> bindrcpp 0.2.2 2018-03-29 CRAN (R 3.4.4)
#> broom 0.4.4 2018-03-29 CRAN (R 3.4.4)
#> cellranger 1.1.0 2016-07-27 CRAN (R 3.4.2)
#> cli 1.0.0 2017-11-05 CRAN (R 3.4.2)
#> colorspace 1.3-2 2016-12-14 CRAN (R 3.4.2)
#> compiler 3.4.3 2017-12-06 local
#> crayon 1.3.4 2017-09-16 CRAN (R 3.4.2)
#> datasets * 3.4.3 2017-12-06 local
#> devtools 1.13.5 2018-02-18 CRAN (R 3.4.3)
#> digest 0.6.15 2018-01-28 CRAN (R 3.4.3)
#> dplyr * 0.7.4 2017-09-28 CRAN (R 3.4.2)
#> evaluate 0.10.1 2017-06-24 CRAN (R 3.4.2)
#> forcats * 0.3.0 2018-02-19 CRAN (R 3.4.3)
#> foreign 0.8-69 2017-06-22 CRAN (R 3.4.3)
#> ggplot2 * 2.2.1 2016-12-30 CRAN (R 3.4.2)
#> glue 1.2.0 2017-10-29 CRAN (R 3.4.2)
#> graphics * 3.4.3 2017-12-06 local
#> grDevices * 3.4.3 2017-12-06 local
#> grid 3.4.3 2017-12-06 local
#> gtable 0.2.0 2016-02-26 CRAN (R 3.4.2)
#> haven 1.1.1 2018-01-18 CRAN (R 3.4.4)
#> hms 0.4.2 2018-03-10 CRAN (R 3.4.4)
#> htmltools 0.3.6 2017-04-28 CRAN (R 3.4.2)
#> httr 1.3.1 2017-08-20 CRAN (R 3.4.2)
#> jsonlite 1.5 2017-06-01 CRAN (R 3.4.2)
#> knitr 1.20 2018-02-20 CRAN (R 3.4.3)
#> lattice 0.20-35 2017-03-25 CRAN (R 3.4.3)
#> lazyeval 0.2.1 2017-10-29 CRAN (R 3.4.2)
#> lubridate 1.7.4 2018-04-11 CRAN (R 3.4.4)
#> magrittr 1.5 2014-11-22 CRAN (R 3.4.2)
#> memoise 1.1.0 2017-04-21 CRAN (R 3.4.3)
#> methods * 3.4.3 2017-12-06 local
#> mnormt 1.5-5 2016-10-15 CRAN (R 3.4.1)
#> modelr 0.1.1 2017-07-24 CRAN (R 3.4.2)
#> munsell 0.4.3 2016-02-13 CRAN (R 3.4.2)
#> nlme 3.1-137 2018-04-07 CRAN (R 3.4.4)
#> parallel 3.4.3 2017-12-06 local
#> pillar 1.2.1 2018-02-27 CRAN (R 3.4.3)
#> pkgconfig 2.0.1 2017-03-21 CRAN (R 3.4.2)
#> plyr 1.8.4 2016-06-08 CRAN (R 3.4.2)
#> psych 1.8.3.3 2018-03-30 CRAN (R 3.4.4)
#> purrr * 0.2.4 2017-10-18 CRAN (R 3.4.2)
#> R6 2.2.2 2017-06-17 CRAN (R 3.4.2)
#> Rcpp 0.12.16 2018-03-13 CRAN (R 3.4.4)
#> readr * 1.1.1 2017-05-16 CRAN (R 3.4.2)
#> readxl 1.0.0 2017-04-18 CRAN (R 3.4.2)
#> reshape2 1.4.3 2017-12-11 CRAN (R 3.4.4)
#> rlang 0.2.0 2018-02-20 CRAN (R 3.4.4)
#> rmarkdown 1.9 2018-03-01 CRAN (R 3.4.3)
#> rprojroot 1.3-2 2018-01-03 CRAN (R 3.4.3)
#> rvest 0.3.2 2016-06-17 CRAN (R 3.4.2)
#> scales 0.5.0 2017-08-24 CRAN (R 3.4.2)
#> stats * 3.4.3 2017-12-06 local
#> stringi 1.1.7 2018-03-12 CRAN (R 3.4.4)
#> stringr * 1.3.0 2018-02-19 CRAN (R 3.4.3)
#> tibble * 1.4.2 2018-01-22 CRAN (R 3.4.4)
#> tidyr * 0.8.0 2018-01-29 CRAN (R 3.4.4)
#> tidyverse * 1.2.1 2017-11-14 CRAN (R 3.4.4)
#> tools 3.4.3 2017-12-06 local
#> utf8 1.1.3 2018-01-03 CRAN (R 3.4.3)
#> utils * 3.4.3 2017-12-06 local
#> withr 2.1.2 2018-03-15 CRAN (R 3.4.4)
#> xml2 1.2.0 2018-01-24 CRAN (R 3.4.4)
#> yaml 2.1.18 2018-03-08 CRAN (R 3.4.4)