warning "using locale code page other than 65001 ("UTF-8") may cause problems" after R 4.2 update

Hi,

I work with multiple locales/languages on Windows, and after my recent update to R 4.2, I keep seeing a warning " using locale code page other than 65001 ("UTF-8") may cause problems" whenever I try to set the system locale (and regardless of what language I try to set it to).

When I revert back to R 4.1.3, the warning doesn't appear.

Can anyone tell me what this warning means and whether there's anyway to get rid of it? Thanks!


> Sys.setlocale("LC_ALL","English")
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"
Warning message:
In Sys.setlocale("LC_ALL", "English") :
  using locale code page other than 65001 ("UTF-8") may cause problems


> sessionInfo()
R version 4.2.0 (2022-04-22 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 22000)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    
system code page: 65001

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] fansi_1.0.3      assertthat_0.2.1 dplyr_1.0.9      utf8_1.2.2      
 [5] crayon_1.5.1     grid_4.2.0       R6_2.5.1         DBI_1.1.2       
 [9] lifecycle_1.0.1  gtable_0.3.0     magrittr_2.0.3   scales_1.2.0    
[13] ggplot2_3.3.6    pillar_1.7.0     rlang_1.0.2      cli_3.3.0       
[17] generics_0.1.2   vctrs_0.4.1      ellipsis_0.3.2   glue_1.6.2      
[21] purrr_0.3.4      munsell_0.5.0    compiler_4.2.0   pkgconfig_2.0.3 
[25] colorspace_2.0-3 tidyselect_1.1.2 tibble_3.1.7    
> 

hi,

i have the same issue when building r packages.
I tried running

Sys.setlocale("LC_ALL","English.utf8")

in the rstudio console but when after pressing check in the build pane of Rstudio the packages still fails with this warning/error:

> checking DESCRIPTION meta-information ... WARNING
  During startup - Warning message:
  Using locale code page other than 65001 ("UTF-8") may cause problems. 
   ERROR
  During startup - Warning message:
  Using locale code page other than 65001 ("UTF-8") may cause problems.

This error only occurs in R 4.2.x and not in R 4.1.x

also when trying to change the locale in the console (with administrative privileges) on the latest r patched version does not seem to work:

R version 4.2.1 Patched (2022-07-09 r82572 ucrt) -- "Funny-Looking Kid"
Copyright (C) 2022 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

During startup - Warning message:
Using locale code page other than 65001 ("UTF-8") may cause problems. 


Registered S3 method overwritten by 'ROI':
  method           from              
  print.constraint PortfolioAnalytics
> Sys.setlocale("LC_ALL","English.utf8")
[1] "LC_COLLATE=English_United States.utf8;LC_CTYPE=English_United States.utf8;LC_MONETARY=English_United States.utf8;LC_NUMERIC=C;LC_TIME=English_United States.utf8"
> sessionInfo()
R version 4.2.1 Patched (2022-07-09 r82572 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19044)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.utf8  LC_CTYPE=English_United States.utf8    LC_MONETARY=English_United States.utf8
[4] LC_NUMERIC=C                           LC_TIME=English_United States.utf8    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] quadprog_1.5-8             lattice_0.20-45            codetools_0.2-18           snow_0.4-4                
 [5] zoo_1.8-10                 foreach_1.5.2              slam_0.1-50                grid_4.2.1                
 [9] registry_0.5-1             PerformanceAnalytics_2.0.4 PortfolioAnalytics_1.1.0   xts_0.12.1                
[13] iterators_1.0.14           tools_4.2.1                ROI_1.0-0                  numDeriv_2016.8-1.1       
[17] parallel_4.2.1             compiler_4.2.1             doSNOW_1.0.20             

Restarting R session...

During startup - Warning message:
Using locale code page other than 65001 ("UTF-8") may cause problems. 
> Sys.getlocale()
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"

has someone any idea?

tonight I added to my Rprofile.site:

Sys.setlocale("LC_CTYPE", locale ="English.UTF-8")
Sys.setlocale("LC_COLLATE", "C")

but still this does not let change the warning which leads to an error when checking my package within Rstudio.

Everytime an R command is called it shows this messages

During startup - Warning message:
Using locale code page other than 65001 ("UTF-8") may cause problems. 

or this one:

Warning in Sys.setlocale("LC_CTYPE", ctype) :
  using locale code page other than 65001 ("UTF-8") may cause problems

I also tried to change the locale of windows to UTF-8 as indicated here:

change windows to utf-8

Now if I startup R it still shows the warning

Restarting R session...


[1] "LC_COLLATE=English_United States.utf8;LC_CTYPE=English_United States.utf8;LC_MONETARY=English_United States.utf8;LC_NUMERIC=C;LC_TIME=English_United States.utf8"
During startup - Warning message:
Using locale code page other than 65001 ("UTF-8") may cause problems. 
> l10n_info()
$MBCS
[1] TRUE

$`UTF-8`
[1] TRUE

$`Latin-1`
[1] FALSE

$codepage
[1] 65001

$system.codepage
[1] 65001

and when i run devtools::check() I still get the error and warning

Using locale code page other than 65001 ("UTF-8") may cause problems.

I was able to solve this issue by deleting an old .Renviron file in the windows documents folder

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.